我在 Chrome 中收到不正确的日期...
我的代码看起来像这样..
标题包含“2013-06-14T00:00:00”,它是从 WebAPI 返回的 C# 中的 DateTime
正如您在这两种浏览器上看到的那样..
当我将它添加到这样的新javascript日期时..
var dt = new Date(title)
我在不同的浏览器中得到不同的日期......
我在 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