一尘不染

如何将JavaScript日期转换为UTC?

javascript

假设您网站的用户输入了日期范围。

2009-1-1 to 2009-1-3

您需要将此日期发送到服务器进行某些处理,但是服务器希望所有日期和时间都采用UTC。

现在,假设用户位于阿拉斯加,夏威夷或斐济。由于它们所处的时区与UTC完全不同,因此需要将日期范围转换为以下形式:

2009-1-1T8:00:00 to 2009-1-4T7:59:59

使用JavaScript Date对象,您如何将第一个“本地化”日期范围转换为服务器可以理解的范围?


阅读 567

收藏
2020-04-25

共1个答案

一尘不染

toISOString()方法返回简化的扩展ISO格式(ISO8601)的字符串,该字符串始终为24或27个字符(分别为YYYY-MM-DDTHH:mm:ss.sssZ±YYYYYY-MM-DDTHH:mm:ss.sssZ)。时区始终为零UTC偏移,如后缀“ Z”所示。

您需要的格式是使用.toISOString()方法创建的。对于旧的浏览器(IE8及以下),其本身不支持此方法,垫片可以发现这里,这将使您能够执行所需的操作:

var isoDate = new Date('yourdatehere').toISOString();

对于时区工作,moment.js和moment.js时区确实是非常宝贵的工具……尤其是用于在客户端和服务器javascript之间导航时区。

2020-04-25