gpt4 book ai didi

javascript - 如何将短日期转换为这种格式 : DDD MMM DD YYYY GMT+0800 (X country standard time)?

转载 作者:行者123 更新时间:2023-11-29 16:04:25 25 4
gpt4 key购买 nike

当我执行 new Date() 时,我得到:

Thu Dec 28 2017 10:17:58 GMT+0800 (台北標準時間)

如果我将 .valueOf() 应用到那个日期,我会得到:

1514427724039

这就是我想要的。

现在,我需要将 .valueOf() 应用于这样的日期:2017/12/28。我尝试使用 Luxon转换日期(因为将 .valueOf() 应用于 YYYY/MM/DD 不会产生数字):

DateTime.fromISO(startDate.replace(/\//g, '-')).toRFC2822()
// => Thu, 28 Dec 2017 00:00:00 +0800

但是,应用 valueOf() 结果会返回相同的字符串。不是第一个示例中的数字。

我应该怎么做才能从 YYYY/MM/DD 中生成一个数值?我只是用 DDD MMM DD YYYY GMT+0800(X 国家标准时间) 做的吗?

最佳答案

我认为您忘记了类型。

fromISO() 返回 Luxon DateTime 对象,但 toRFC2822 返回日期的 RFC 2822 字符串表示形式。

所以您的 valueOf() 是在字符串上调用的,而不是 DateTime。

正如其他人所指出的,您只需对 fromISO() 的结果调用 valueOf()

举例说明:

var dt = luxon.DateTime.fromISO('2017-12-05'); // returns a Luxon DateTime object
console.log('fromISO returns an', typeof dt);

var rfc = dt.toRFC2822(); // returns a string
console.log('toRFC2822 returns a', typeof rfc);

var valueOfRFC = rfc.valueOf(); // string.valueOf() is just that string
console.log('strings are their own values?', rfc === valueOfRFC);

var valueOfDT = dt.valueOf(); // this is what you want
console.log('value of datetime', valueOfDT);
<script src="https://moment.github.io/luxon/global/luxon.min.js"></script>

关于javascript - 如何将短日期转换为这种格式 : DDD MMM DD YYYY GMT+0800 (X country standard time)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48000919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com