如何将JavaScript日期转换为UTC?

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

2009-1-1 to 2009-1-3

您需要将此日期发送到服务器以进行一些处理,但服务器预计所有日期和时间均为UTC。

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

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

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


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

这会让你有能力做你需要的东西:

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

对于时区工作,moment.js和moment.js时区是非常宝贵的工具...特别是在客户端和服务器之间导航时区javascript。


简单而愚蠢

var now = new Date(); 
var now_utc =  Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(),
 date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());

 return new Date(now_utc);

这是我的方法:

var now = new Date();
var utc = new Date(now.getTime() + now.getTimezoneOffset() * 60000);

生成的utc对象并不是真正的UTC日期,而是本地日期转换为与UTC时间匹配(请参阅注释)。 然而,在实践中,它完成了这项工作。

链接地址: http://www.djcxy.com/p/18751.html

上一篇: How do you convert a JavaScript date to UTC?

下一篇: How can I get the current date and time in UTC or GMT in Java?