//: Playground – noun: a place where people can play import UIKit extension NSDate { //convert time to Int64 timestamp: //-> in millisecond -> 13 digits: 1466576142336 //-> in second -> 10 digits: 1466576128 func toTimestamp(toMilliSec:Bool = true) -> Int64 { var curTimestamp:Int64 = 0 print(“self=\(self)”) print(“self.timeIntervalSince1970=\(self.timeIntervalSince1970)”) //1466576025.00243 var curTimestampFloat = Float(self.timeIntervalSince1970) print(“curTimestampFloat=\(curTimestampFloat)”) if toMilliSec { curTimestampFloat = curTimestampFloat * 1000 print(“timestampFloat=\(curTimestampFloat)”) } curTimestamp = Int64(curTimestampFloat) print(“curTimestamp=\(curTimestamp)”) //1466576025002 //1466576025 return curTimestamp } func toTimestampInSec() -> Int64 { return self.toTimestamp(false) } } let curTime = NSDate() print(“curTime=\(curTime)”) //let timeIntervalInSecFloat:Float = Float(curTime.timeIntervalSince1970) //print(“timeIntervalInSecFloat=\(timeIntervalInSecFloat)”) // //let timeIntervalInMsFloat:Float = timeIntervalInSecFloat * 1000 //print(“timeIntervalInMsFloat=\(timeIntervalInMsFloat)”) //curTime.toTimestamp(false) curTime.toTimestamp() |
即可:
curTime=2016-06-22 06:16:06 +0000 self=2016-06-22 06:16:06 +0000 self.timeIntervalSince1970=1466576166.77657 curTimestampFloat=1.46658e+09 timestampFloat=1.46658e+12 curTimestamp=1466576142336 |
curTime.toTimestamp(false)
-》
curTime=2016-06-22 06:18:06 +0000 self=2016-06-22 06:18:06 +0000 self.timeIntervalSince1970=1466576286.4994 curTimestampFloat=1.46658e+09 curTimestamp=1466576256 |
更新更全代码详见:
https://github.com/crifan/crifanLib/blob/master/swift/CrifanNSDate.swift
转载请注明:在路上 » [已解决]swift把NSDate时间变成时间戳