【发布时间】:2017-05-18 12:07:46
【问题描述】:
一个很长的标题,我知道,但我必须强调一个事实,即我所面临的情况与所有通常的 javascript 日期转换有点不同。
我正在从服务器的字符串中获取以下日期时间:
2017-05-18T08:00:00
当我将此字符串放入以下语句时:
var newDate = new Date("2017-05-18T08:00:00");
它假定它在 UTC 时区,因此它会自动调整并将其转换为本地时间,在悉尼将变为 2017/05/18 18:00:00。
有什么方法可以阻止日期构造函数假设字符串是 UTC 时间(让它假设它是本地时间)?
【问题讨论】:
-
你能把 -10:00 加到末尾吗?
-
您是否有机会修复服务器,以便为您提供带时区的 ISO 8601 字符串?期望消费者知道服务器的位置是一种反模式。
-
"2017-05-18T08:00:00" 应该被解析为本地,而不是 UTC,所以有一个例子说明为什么你不应该使用内置解析器。见Why does Date.parse give incorrect results?。
标签: javascript date datetime