gpt4 book ai didi

javascript - Chrome 58.0.3029.110 版本未将日期转换为正确的本地时区

转载 作者:行者123 更新时间:2023-12-01 03:37:56 25 4
gpt4 key购买 nike

Chrome 没有给出正确的日期转换结果:

日期:“2017-05-22T14:00:00”

在 Chrome 控制台中执行此操作:

new Date("2017-05-22T14:00:00");

输出是:

Mon May 22 2017 14:00:00 GMT+0530 (IST)

这是错误的,因为我在 IST。它应该将输出指定为

Mon May 22 2017 19:30:00 GMT+0530 (IST) 

Safari 给出了正确的结果。 Chrome 之前是正确的,但我认为最新的更新有问题。

发现在日期字符串中附加 Z 会产生正确的日期值。

new Date("2017-05-22T14:00:00Z");

最佳答案

输入值被正确解释。 ECMAScript 2015 (ES6) 第 20.3.1.16 节规定:

If the time zone offset is absent, the date-time is interpreted as a local time.

这也符合 ISO-8601 标准。

在 ECMAScript 的早期版本中,如果未提供偏移量,则假定为 UTC。这违反了 ISO-8601,并且在不同环境中的实现不一致。

如果您希望将输入解释为 UTC,那么您应该提供一个偏移量,+00:00Z作为输入字符串的一部分。

但是,如果您正在讨论登录到调试控制台时应如何显示 Date 对象,则规范中未定义这一点。在某些环境中,您将看到 date.toString() 的输出,它以非标准格式显示本地日期和时间,而在其他环境(例如 FireFox)中,您将看到date.toISOString() 的输出,以 ISO-8601 格式显示 UTC 日期和时间。

没有关于显示哪一个的规范,因此两者都有效。如果您想查看特定输出,请不要只记录 Date 对象,而是调用返回字符串的对象上的函数并记录该输出。

关于javascript - Chrome 58.0.3029.110 版本未将日期转换为正确的本地时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44115274/

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