小编典典

如何将 JavaScript 日期转换为 UTC?

all

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

2009-1-1 to 2009-1-3

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

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

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

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


阅读 95

收藏
2022-03-03

共1个答案

小编典典

toISOString()方法以简化的扩展 ISO 格式 ( ISO
8601
) 返回一个字符串,该字符串的长度始终为 24 或 27
个字符(分别为YYYY-MM-DDTHH:mm:ss.sssZ卤YYYYYY-MM-DDTHH:mm:ss.sssZ)。时区始终为 0 UTC
偏移量,由后缀“ Z”表示。

来源: MDN 网络文档

您需要的格式是使用该.toISOString()方法创建的。对于本机不支持此方法的旧浏览器(ie8
及以下),可以在此处找到 shim :

这将使您能够做您需要的事情:

var isoDateString = new Date().toISOString();
console.log(isoDateString);

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

2022-03-03