我正在处理从ASP.net返回的JavaScript date,这当然是非常奇怪的/Date(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)这一切都说得通,我只是在找原因?
发布于 2012-02-03 23:19:59
Javascript根据浏览器的时区提供时间。因此,当您更改系统时钟时,您的机器时间和GMT之间的时间差也会改变。这种差异在格林尼治标准时间之后出现在数字中。
发布于 2012-02-03 23:16:34
应该使用DateTime.ToUniversalTime()方法来获取协调世界时的时间,否则.NET将使用服务器的当前时区。http://msdn.microsoft.com/en-us/library/system.datetime.touniversaltime.aspx
发布于 2012-02-03 23:17:01
Timestamp (如1328261701393)与时区无关,Datetime(如2/1/2012 2:45:53 PM)与时区相关。
https://stackoverflow.com/questions/9130865
复制相似问题