您似乎正在寻找DateTime.Ticks
C#中的内容,即自0001-01-01开始的时间以100纳秒为间隔测量。
您提供的链接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
将是
// 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)
}
}
示例(快速3):
let date = Date(ticks: 636110903202288256)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句