iOS正确获取时间戳的代码

  工作需要,输出时间戳。找了网上的代码,输出一看,结果错误。仔细分析了流程,并无问题。那么就是代码有问题了。错误在哪里?在少了个括号。

  正确代码是:

  NSString *timeStamp = [NSString stringWithFormat:@"%ld",

  (long)([[NSDate date] timeIntervalSince1970]*1000)];

  与网上代码不同的是,long造型的对象不同,后面有个括号。

 

  为什么这样就对了呢?

  NSDate得到的是一个浮点数,整数部分是秒,小数部分是微秒。

  所以要乘1000得到毫秒的整数,然后造型去掉小数。

 

  时间戳的格式,一般建议为"HH:mm:ss.SSS"。代码如下:

//避免每次都要新建。

self.timeStampFormat = [[NSDateFormatter alloc] init] ; [self.timeStampFormat setDateStyle:NSDateFormatterMediumStyle];

[self.timeStampFormat setTimeStyle:NSDateFormatterShortStyle];

 [self.timeStampFormat setDateFormat:@"HH:mm:ss.SSS"]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制

//设置时区

NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];

[self.timeStampFormat setTimeZone:timeZone];

 

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭