首页 > 移动平台 > 详细

iOS 关于时间戳的一些细节

时间:2015-09-29 14:46:02      阅读:592      评论:0      收藏:0      [点我收藏+]

最近遇到一个bug,在iPhone上获取当前的时间戳,没有问题,而用iPad来测试的时候,出现了时间戳不对。当时的代码 (需要精确到毫秒,所以*1000)

NSTimeInterval t = [[NSDate date] timeIntervalSince1970]*1000;

NSString *timestamp = [NSString stringWithFormat:@"%ld", (long)t];

NSLog(@"timestamp =%@",timestamp);

 

后来,查了很多资料,发现测试iPad是32位的,iPhone是64位的,32位只有4个字节,64位的有8个字节,里面的long*1000时,32位的iPad溢出了,所以出现了时间戳不对。修改改后的代码

NSTimeInterval t = [[NSDate date] timeIntervalSince1970];
long long time = t*1000;
NSString
*timestamp = [NSString stringWithFormat:@"%lld", time];

NSLog(@"timestamp =%@",timestamp);

 

iOS 关于时间戳的一些细节

原文:http://www.cnblogs.com/DWdan/p/4846210.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!