奇怪的事情发生在这里。以下代码:
String(Int(date.timeIntervalSince1970*1000))
在操场上工作,但不在课堂上。它与EXC_BAD_INSTRUCTION崩溃。
任何想法为什么?或者,如何获取上述NSTimeInterval
的字符串?
提前致谢!
编辑:我需要结果为Int,例如1402324472549,而不是1402324472549.64。
答案 0 :(得分:4)
在类定义中:
var date = NSDate()
let myDateString = String(Int64(date.timeIntervalSince1970()*1000))
println("Seconds = \(myDateString)")
答案 1 :(得分:2)
不确定根本原因,但它与类型转换有关。这有效:
var date = NSDate()
var asString = "\(Int(date.timeIntervalSince1970*1000))"
println(asString)
答案 2 :(得分:2)
崩溃是因为你溢出了一个32位的signed int,默认情况下swift会对所有操作进行边界检查。尝试:
"\(floor(date.timeIntervalSince1970)"