当前位置:  开发笔记 > 编程语言 > 正文

大纪元时间(自1970年以来的蜱虫) - Mac与Windows

如何解决《大纪元时间(自1970年以来的蜱虫)-Mac与Windows》经验,为你挑选了0个好方法。

我有一些返回JSON的C#Web服务..NET JavaScriptSerializer以大纪元时间(自1970年以来的毫秒)返回日期.在任何Windows计算机上,基于Web的应用程序将毫秒数处理回正确的日期而不会出现问题.

在我的Mac上,日期有时会偏离1小时.不是每一次.只是有时.现在正在我正在构建的iPhone前端上发生这种情况.

我一开始认为,在将毫秒除以1000时,我已经失去了一些精度,以创建一个有效的Objective-C NSDate对象.然后我在Mac Firefox上使用相同的时间戳在javascript中测试日期创建,并获得相同的1小时偏移量.

有任何想法吗?谢谢...

编辑:我还注意到在XCode的控制台中,创建的日期旁边有一个-4或-5.我假设这是GMT偏移量.这些似乎随着日期是否偏移1小时而变化.因此,一些-4个日期和一些-5个日期是正确的,其中一个是偏移的.

编辑:使用示例:

console.log(new Date(-1173643200000));

返回Sun Oct 23 1932 00:00:00 GMT-0400(EST)

console.log(new Date(-1031515200000));

返回Sat Apr 24 1937 23:00:00 GMT-0500(EST)

NSDate* date = [NSDate dateWithTimeIntervalSince1970:ticks / 1000];

-589320000000 =
1951-04-30 00:00:00 -0400

-1173643200000 =
1932-10-22 23:00:00 -0500 

(这个在Firebug控制台中返回正确,在XCode控制台中错误)

-1303416000000 =
1928-09-12 00:00:00 -0400

-1492545600000 =
1922-09-15 00:00:00 -0400

-1263668400000 =
1929-12-16 00:00:00 -0500

-1252094400000 =
1930-04-29 00:00:00 -0400

-1046458800000 =
1936-11-03 00:00:00 -0500

-1298746800000 =
1928-11-05 00:00:00 -0500

-1031515200000 =
1937-04-24 23:00:00 -0500   

(在Firebug控制台和XCode控制台中返回错误)

-910465200000 =
1941-02-24 00:00:00 -0500

-1152648000000 =
1933-06-23 00:00:00 -0400

-1109793600000 =
1934-10-31 23:00:00 -0500

微软/ Mozilla/Apple是否有可能在夏令时开始时制定相互矛盾的规则?

编辑: Mac Firefox和Windows Firefox获得-1031515200000的不同结果.两台机器都设置为相同的时区.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有