在swift中生成纪元时间

时间:2014-09-18 09:40:06

标签: ios swift

我是一名中级swift ios开发人员,现在正在开发一个应用程序,我需要使用从当前日期和时间生成的纪元时间,为此我尝试了以下代码

var date = NSDate()
var timestamp = (floor(date.timeIntervalSince1970 * 1000))

获得Float值有些像1411032097112.0 .. 但在我的情况下,我只需要此结果的整数部分。这是实现这一目标的最佳方式还是有其他最佳解决方案?

谢谢

2 个答案:

答案 0 :(得分:15)

怎么样

var timestamp = UInt64(floor(date.timeIntervalSince1970 * 1000))

<小时/> 编辑:

正如@MartinR在他的回答中指出的那样,由于32位设备中的空间限制,Int64将是比Int更好的选择。 UInt64会更好,因为你得到的时间间隔总是积极的。

答案 1 :(得分:9)

您只需将浮点值转换为Int64

即可
let date = NSDate()
let timestamp = Int64(date.timeIntervalSince1970 * 1000.0)
println(timestamp)
// 1411034055289

您应该使用Int64UInt64而不是Int,因为后者在32位设备上只有32位,这在时间上不够大(以毫秒为单位)。< / p>