iOS深度报告iosIOS->杂

iOS 时间戳 与 时间相互转化

2015-04-06  本文已影响5742人  小白和小黑
  在从网站天气API读取数据的时候,太阳升起的时间竟然是1428183087,有点模糊,感觉去看说明,原来采用的是UTC时间,结果是一个Unix 时间戳。谷歌了一下UTC这个从来没见过的东西,解释如下(来源维基百科)

协调世界时,又称世界标准时间世界协调时间,简称UTC(从[英文]"Coordinated Universal Time”/[法文]“TempsUniversel Cordonné”而来),是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治平时中国大陆采用ISO 8601:2000的国家标准GB/T 7408-2005《数据元和交换格式 信息交换 日期和时间表示法》中亦称之为协调世界时台湾采用CNS 7648的《资料元及交换格式–资讯交换–日期及时间的表示法》(与ISO 8601类似)称之为世界协调时间

  如果你觉得读不懂维基百科上面关于UTC的说明,很简单,中国属于东八区,UTC+8。了解了就可以了。
  对于编程重要的是时间戳这个概念。

时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)至当前时间的总秒数。

  时间戳在我印象中的作用就是在验证码的时候可以使用。在你设计数据库的时候第一列永远是ID,这个ID可以使用时间戳来表示,而不是1,2,3,4.......。

以下代码是使用iOS swift语言编写的

//时间戳 时间转换
    func changeUTCtoDate(UTCString:Int)->NSString{
       var sunStr = NSString(format: "%d", UTCString)
       var timer:NSTimeInterval = sunStr.doubleValue
       var data = NSDate(timeIntervalSince1970: timer)
    
       var formatter = NSDateFormatter()
       formatter.dateStyle = NSDateFormatterStyle.ShortStyle
       formatter.dateFormat = "HH:mm"
       var str:NSString = formatter.stringFromDate(data)
       return str
}

如果是OC的话,官方的方法其实是一样的,只是写法不一样

- (instancetype)initWithTimeIntervalSince1970:([NSTimeInterval])*seconds*

代码应该不需要解释了,很简单。

如果你想从时间获取时间戳也很简单

  data.timeIntervalSince1970

最近iOS 文章都会是短篇的文章,因为我要做APP,但是会遇到很多的问题,就得去解决,会发在简书上面,希望大家一起来交流。有想法一起来交流分享。

上一篇下一篇

猜你喜欢

热点阅读