[英]Incorrect Javascript Date in Chrome vs Firefox
我在Chrome中收到的日期不正确...
我的代码看起来像这样..
标题包含“2013-06-14T00:00:00”,它是从WebAPI返回的C#中的DateTime
正如你在这两个浏览器上看到的那样..
当我将它添加到这样的新javascript日期时.. var dt = new Date(title)
我在不同的浏览器中得到不同的日期
看起来Firefox假设这种日期时间格式没有时区是本地时间,Chrome / Webkit假设它是UTC。
如果从api返回的日期时间是UTC,只需在字符串的末尾附加一个“Z”,所以它变为“2013-06-14T00:00:00Z”,表示时间是UTC,然后你会得到两个浏览器的结果相同。
例如,将时间戳转换为C#中的ISO 8601格式化字符串
var title = "14 JUN 2013 00:00:00" // printed from C#
然后使用Date
构造函数
var date = new Date(title);
如果未指定时区,则客户端计算机中的本地时区将设置为给定时间。 如果指定时区,则需要进行计算以将日期转换为本地时区。
var title = "14 JUN 2013 00:00:00";
var date = new Date(title); // Fri Jun 14 2013 00:00:00 GMT+0530 (IST)
var title = "14 JUN 2013 00:00:00 GMT";
var date = new Date(title); // Fri Jun 14 2013 05:30:00 GMT+0530 (IST)
var title = "14 JUN 2013 00:00:00 GMT-0400";
var date = new Date(title); // Fri Jun 14 2013 09:30:00 GMT+0530 (IST)
参考: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.