在從網(wǎng)站天氣API讀取數(shù)據(jù)的時候,太陽升起的時間竟然是1428183087,有點模糊,感覺去看說明,原來采用的是UTC時間,結(jié)果是一個Unix 時間戳。谷歌了一下UTC這個從來沒見過的東西,解釋如下(來源維基百科)
協(xié)調(diào)世界時,又稱世界標(biāo)準(zhǔn)時間或世界協(xié)調(diào)時間,簡稱UTC(從[英文]"Coordinated Universal Time”/[法文]“TempsUniversel Cordonné”而來),是最主要的世界時間標(biāo)準(zhǔn),其以原子時秒長為基礎(chǔ),在時刻上盡量接近于格林尼治平時。中國大陸采用ISO 8601:2000的國家標(biāo)準(zhǔn)GB/T 7408-2005《數(shù)據(jù)元和交換格式 信息交換 日期和時間表示法》中亦稱之為協(xié)調(diào)世界時。臺灣采用CNS 7648的《資料元及交換格式–資訊交換–日期及時間的表示法》(與ISO 8601類似)稱之為世界協(xié)調(diào)時間。
如果你覺得讀不懂維基百科上面關(guān)于UTC的說明,很簡單,中國屬于東八區(qū),UTC+8。了解了就可以了。
對于編程重要的是時間戳這個概念。
時間戳是自 1970 年 1 月 1 日(00:00:00 GMT)至當(dāng)前時間的總秒數(shù)。
時間戳在我印象中的作用就是在驗證碼的時候可以使用。在你設(shè)計數(shù)據(jù)庫的時候第一列永遠(yuǎn)是ID,這個ID可以使用時間戳來表示,而不是1,2,3,4.......。
以下代碼是使用iOS swift語言編寫的
//時間戳 時間轉(zhuǎn)換
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*
代碼應(yīng)該不需要解釋了,很簡單。
如果你想從時間獲取時間戳也很簡單
data.timeIntervalSince1970
最近iOS 文章都會是短篇的文章,因為我要做APP,但是會遇到很多的問題,就得去解決,會發(fā)在簡書上面,希望大家一起來交流。有想法一起來交流分享。