最近遇到一个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位的long只有4个字节,64位的long有8个字节。

里面的[[NSDate date] timeIntervalSince1970]*1000是double类型(8个字节),强转为long4个字节,所以出现了时间戳不对。修改改后的代码 (long long 为8个字节)

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

最新文章

  1. oracle迁移postgres之-Ora2Pg
  2. [Cocos2D-x For WP8]CocosDenshion音频播放
  3. paip.java 多线程参数以及返回值Future FutureTask 的使用.
  4. android studio ,Gradle DSL method not found: 'compile()'
  5. 【转】oracle查询不到表的问题
  6. MVC架构和SSH框架对应关系
  7. android--email发送邮件,文本还有附件形式的邮件
  8. 关于csrss.exe和winlogon.exe进程多、占用CPU高的解决办法
  9. ubunut系统清理系统根目录下缓存文件夹.cache超大导致磁盘不足
  10. jQuery根据元素值或元素下标来删除一个数组元素及数组对象方法列表
  11. JavaScript 编程易错点整理
  12. Partition Numbers的计算
  13. BZOJ.3585.mex(线段树)
  14. 如何将sql查询出的结果,用符号隔开
  15. python2和python3 切换
  16. 《Linux内核--分析Linux内核创建一个新进程的过程 》 20135311傅冬菁
  17. asp.net中的<%%>的使用
  18. Multipart polyline to single part lines
  19. SignalR 教程一
  20. django使用migrations迁移版本和数据库中报错解决方案

热门文章

  1. WdatePicker 设置今天起 后30天可选
  2. 关于vis标记
  3. POJ2100 Graveyard Design(尺取法)
  4. Python 一路走来 HTML CSS Javascript
  5. JavaWeb学习笔记--4.EL表达式
  6. IOS 客户端测试入门.pdf
  7. iOS开发中文件的上传和下载功能的基本实现-备用
  8. [HDU] 1068 Girls and Boys(二分图最大匹配)
  9. ulimit -t 引起的kill血案
  10. 从点击Button到弹出一个MessageBox, 背后发生了什么(每个UI线程都有一个ThreadInfo结构, 里面包含4个队列和一些标志位)