如何通过日期在祖鲁格式,使他们将工作,无论时区

How To Pass Dates In Zulu Format So They Will Work Regardless Of TimeZone

本文关键字:工作 他们将 时区 日期 祖鲁 格式 何通过      更新时间:2023-09-26

我将一个日期传递给一个执行多个进程的后端函数。我有一些用户报告说,他们在不同的时区(更具体地说,是在海外,但也有一些来自沿海地区)遇到了故障。所以我试着把我的日期/时间格式化成祖鲁时间,让那些用户不管他们的时区如何都能成功。

下面是我用来传递给函数来解决这个问题的格式。那个在05小时工作得很好,但是那个在00点的(这是我所理解的时区不可知论)正在失败。

这个失败1960 - 08 - 02 t00:00:00:000z

这工作1960 - 08 - 02 t05:00:00.000z

有日期转换javascript经验的人能告诉我为什么会这样吗?

谢谢,B

因为两者的格式不同:

1960-08-02T00:00:00:000Z
                   ^ colon
1960-08-02T05:00:00.000Z
                   ^ period

您应该使用后一种格式(参见规范),您会发现1960-08-02T00:00:00.000Z也可以接受。

任何JavaScript日期都可以用toISOStringtoJSON转换为正确的UTC(祖鲁)格式:

new Date().toISOString();
//"2016-09-30T16:56:51.654Z"