windows中的Javascript巨大日期错误。。。解决?
我的开发环境在mac中 我使用引导日期选择器在应用程序中选择日期 当我调试时在mac中选择像2013年11月27日这样的一天时,屏幕显示windows中的Javascript巨大日期错误。。。解决?,javascript,windows,macos,date,internet-explorer-8,Javascript,Windows,Macos,Date,Internet Explorer 8,我的开发环境在mac中 我使用引导日期选择器在应用程序中选择日期 当我调试时在mac中选择像2013年11月27日这样的一天时,屏幕显示 day: 1385510400 同一调试工具中日期对象的转换为 Wed Nov 27 2013 00:00:00 GMT+0000 (GMT) Wed Nov 27 2013 00:00:00 GMT+0000 (GMT) 这是正确的 一切都好,因为在这里 我将代码上传到windows环境,并使用IE8打开同一页面 开始恶梦吧…: 在windows
day: 1385510400
同一调试工具中日期对象的转换为
Wed Nov 27 2013 00:00:00 GMT+0000 (GMT)
Wed Nov 27 2013 00:00:00 GMT+0000 (GMT)
这是正确的
一切都好,因为在这里
我将代码上传到windows环境,并使用IE8打开同一页面
开始恶梦吧…:
在windows中,同一天变量如下所示
day: 1385506800
同一调试工具中日期对象的转换为
Wed Nov 27 2013 00:00:00 GMT+0000 (GMT)
Wed Nov 27 2013 00:00:00 GMT+0000 (GMT)
这是不对的
如果我们使用外部工具,给出IE8的那天是前一天,翻译应该是
Tue, 26 Nov 2013 23:00:00 GMT.
我怎么能理解呢
时间戳和到日期对象的转换没有关系,显然我找不到一种方法使这两个系统都能工作
你能把我从噩梦中叫醒吗
对不起我的英语
在Chrome的JS中:
new Date(1385510400000) : Wed Nov 27 2013 01:00:00 GMT+0100
new Date(1385506800000) : Wed Nov 27 2013 00:00:00 GMT+0100
new Date("11/27/2013") : Wed Nov 27 2013 00:00:00 GMT+0100
请注意日期字符串的顺序,它是按美国顺序排列的
另请注意结尾处的000;JS时间戳以毫秒为单位
IE8中也是如此
Wed Nov 27 01:00:00 UTC+0100 2013
Wed Nov 27 00:00:00 UTC+0100 2013
Wed Nov 27 00:00:00 UTC+0100 2013
所以完全相同的日期,第一天的时差
如果你从所有日期中减去1小时,那么第一天是午夜,其余时间是26日晚上11点
要使其正常化,您可以执行以下操作
var d = new Date(1385510400000);
d.setHours(0,0,0);
或者更改为UTC当我看到Wed 27 00:00:00 UTC+0000 2013时,总是先假设您做错了什么,时间戳是1385506800。。。没有逻辑错误,那是错误的!在其他浏览器中工作正常,IE8是个问题。1385510400和1385506800都是1970年1月17日的时间。1385506800=Tue,2013年11月26日23:00:00该网站的格林威治标准时间是基于1970年1月1日标准纪元后的秒数,而JS日期是基于1970年1月1日后的毫秒数。你可以展示你正在使用的JS代码,这样我们就可以准确地看到你是如何得到1385510400的?