gpt4 book ai didi

javascript - moment js 为 iso 时间戳返回格式错误的值

转载 作者:行者123 更新时间:2023-11-30 07:52:51 25 4
gpt4 key购买 nike

我将 "2018-01-31T22:55:02.907Z" 这个时间戳传递给 moment() 函数,但它在格式化后返回了错误的值日期部分。

console.log(moment("2018-01-31T22:55:02.907Z").format('YYYY-MM-DD'));

这应该返回 2018-01-31 但它返回的是 2018-02-01

这样每个日期都会加一天。我怀疑是基于时区的问题,但我无法弄清楚。

最佳答案

传递时间戳时必须使用 .utc,如下所示:如果你这样做:

console.log(moment("2018-01-31").format('YYYY-MM-DD'));

它会给你想要的结果,但是当你像现在这样传递时间戳时,你应该做的是:

console.log(moment.utc("2018-01-31T22:55:02.907Z").format('YYYY-MM-DD'));

您还可以看到它是如何工作的:

console.log(moment({ years:2018, months:0, date:31, hours:22, minutes:55, seconds:02, milliseconds:907}).format('YYYY-MM-DD'));

要传递时间戳,您应该再次检查文档。 https://momentjs.com/docs/#/parsing/unix-timestamp-milliseconds/

这也可能是一个有用的链接: https://coderwall.com/p/exrbag/use-momentjs-to-parse-unix-timestamps

关于javascript - moment js 为 iso 时间戳返回格式错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48578131/

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