Swift - 获取当前时间的时间戳(时间戳与时间互相转换)
作者:hangge | 2016-05-25 09:20
(本文代码已升级至Swift3)
1,时间戳
2,获取当前时间的时间戳
3,将时间戳转为日期时间
1,时间戳
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
2,获取当前时间的时间戳
//获取当前时间
let now = Date()
// 创建一个日期格式器
let dformatter = DateFormatter()
dformatter.dateFormat = "yyyy年MM月dd日 HH:mm:ss"
print("当前日期时间:\(dformatter.string(from: now))")
//当前时间的时间戳
let timeInterval:TimeInterval = now.timeIntervalSince1970
let timeStamp = Int(timeInterval)
print("当前时间的时间戳:\(timeStamp)")
3,将时间戳转为日期时间
//时间戳
let timeStamp = 1463637809
print("时间戳:\(timeStamp)")
//转换为时间
let timeInterval:TimeInterval = TimeInterval(timeStamp)
let date = Date(timeIntervalSince1970: timeInterval)
//格式话输出
let dformatter = DateFormatter()
dformatter.dateFormat = "yyyy年MM月dd日 HH:mm:ss"
print("对应的日期时间:\(dformatter.string(from: date))")
全部评论(2)
为什么我的时间戳(1492397873000)转换过来不可以呢?必须要除以1000,转换到日才行,到秒就不行
站长回复:时间戳的单位是秒,你这个是毫秒。所以要先除以1000转换为秒才行。
这个怎么使用,我怎么调用now.timeIntervalSince1970,会报错,提示nsdata里面没有这样的方法
站长回复:应该是NSDate,你写成了NSData了。