我正在使用从ASP.net返回的JavaScript日期,这当然是非常奇怪/日期(1328261701393)/东西。
所以我正在解析它并做...
var date = new Date(1328261701393);
console.log(date.toString()) // Fri Feb 03 2012 03:35:01 GMT-0600 (Central Standard Time)
当我将系统时钟更改为EST时,我得到......
Fri Feb 03 2012 04:35:01 GMT-0500 (US Eastern Standard Time)
我认为我理解为什么会这样,但我并不完全确定......
另外,我注意到当我传入一个像...这样的实际日期字符串时
console.log(new Date("2/1/2012 2:45:53 PM").toString());
我在EST和CST都得到同样的时间......
Wed Feb 01 2012 14:45:53 GMT-0600 (Central Standard Time)
Wed Feb 01 2012 14:45:53 GMT-0500 (US Eastern Standard Time)
这一切都有道理,我只是在寻找为什么?
答案 0 :(得分:0)
您应该使用DateTime.ToUniversalTime()方法来获取UTC时间,否则.NET将使用服务器的当前时区。 http://msdn.microsoft.com/en-us/library/system.datetime.touniversaltime.aspx
答案 1 :(得分:0)
时间戳(如1328261701393
)与时区无关,
日期时间(如2/1/2012 2:45:53 PM
)与时区有关。
答案 2 :(得分:0)
Javascript根据浏览器的时区提供时间。因此,当您更改系统时钟时,机器时间与GMT之间的时差会发生变化。这种差异出现在GMT之后的数字
中