当前位置: > > > Swift - 获取当前时间的时间戳(时间戳与时间互相转换)

Swift - 获取当前时间的时间戳(时间戳与时间互相转换)

(本文代码已升级至Swift3)

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
  • 2楼
    2017-04-17 11:27
    Liu

    为什么我的时间戳(1492397873000)转换过来不可以呢?必须要除以1000,转换到日才行,到秒就不行

    站长回复

    时间戳的单位是秒,你这个是毫秒。所以要先除以1000转换为秒才行。

  • 1楼
    2016-08-01 14:30
    整容通

    这个怎么使用,我怎么调用now.timeIntervalSince1970,会报错,提示nsdata里面没有这样的方法

    站长回复

    应该是NSDate,你写成了NSData了。