我将日期传递给执行多个进程的后端函数。我有用户报告说他们从不同的时区(更具体地说是海外,但是来自沿海地区的其他人)也遇到了失败。因此,我尝试将我的日期/时间格式化为ZULU时间,以便让这些用户无论时区如何都能获得成功。
以下是我为解决问题而传递给函数的格式。 05小时的那个工作正常,但是00(这是我理解为时区不可知的那个)失败了。
这次失败 1960-08-02T00:00:00:000Z
这项工作 1960-08-02T05:00:00.000Z
有人可以通过一些日期转换javascript经验告诉我为什么会出现这种情况吗?
谢谢, 乙
答案 0 :(得分:3)
因为两者的格式不同:
1960-08-02T00:00:00:000Z
^ colon
1960-08-02T05:00:00.000Z
^ period
您应该使用后一种格式(另请参阅the spec),您也会发现1960-08-02T00:00:00.000Z
也会被接受。
答案 1 :(得分:1)
任何JavaScript日期都可以使用toISOString
或toJSON
转换为正确的UTC(Zulu)格式:
new Date().toISOString();
//"2016-09-30T16:56:51.654Z"