Swift 获取当前时间戳 (秒级,毫秒级)

/ Mac / 没有评论 / 2722浏览

Swift 获取当前时间戳 (秒级,毫秒级)

经常见到有人将 秒级 时间戳 以 Int 类型直接 *1000 来获取毫秒,这样的结果最后的3位数字都是0,获取到的结果不够精确。所以获取毫秒级时间戳有另外一种方式。

创建一个 Date 的 Extension,代码如下

extension Date {

  /// 获取当前 秒级 时间戳 - 10位
  var timeStamp : String {
    let timeInterval: TimeInterval = self.timeIntervalSince1970
    let timeStamp = Int(timeInterval)
    return "\(timeStamp)"
  }

  /// 获取当前 毫秒级 时间戳 - 13位
  var milliStamp : String {
    let timeInterval: TimeInterval = self.timeIntervalSince1970
    let millisecond = CLongLong(round(timeInterval*1000))
    return "\(millisecond)"
  }
}

使用

let millisecond = Date().milliStamp
print("当前毫秒级时间戳是 millisecond == ",millisecond)
let timeStamp = Date().timeStamp
print("当前秒级时间戳是 timeStamp == ",timeStamp)

输出结果

当前毫秒级时间戳是 millisecond ==  1524801851988
当前秒级时间戳是 timeStamp ==  1524801851