我想要这样的当前时间戳:
636110767775716756
但是,当我这样做时:
NSDate().timeIntervalSince1970
它返回这样的值:
1475491615.71278
如何以所需格式访问当前时间戳记?我从这里检查日期:
您似乎正在寻找DateTime.TicksC#中的内容,即自0001-01-01开始的时间以100纳秒为间隔测量。
DateTime.Ticks
您提供的链接Swift中的代码:将NSDate转换为c#刻度可以轻松地转换为Swift:
// Swift 2: extension NSDate { var ticks: UInt64 { return UInt64((self.timeIntervalSince1970 + 62_135_596_800) * 10_000_000) } } // Swift 3: extension Date { var ticks: UInt64 { return UInt64((self.timeIntervalSince1970 + 62_135_596_800) * 10_000_000) } }
示例(快速3):
let ticks = Date().ticks print(ticks) // 636110903202288256
或作为字符串:
let sticks = String(Date().ticks) print(sticks)
而在此期间,从滴答声到的反向转换Date 将是
Date
// Swift 2: extension NSDate { convenience init(ticks: UInt64) { self.init(timeIntervalSince1970: Double(ticks)/10_000_000 - 62_135_596_800) } } // Swift 3: extension Date { init(ticks: UInt64) { self.init(timeIntervalSince1970: Double(ticks)/10_000_000 - 62_135_596_800) } }
let date = Date(ticks: 636110903202288256)