我在swift工作,我遇到了NSDateFormatter和NSTimeInterval的问题。
我要做的是保存日期的字符串表示,然后将其转换回NSDate对象,然后找到该日期和当前时间之间的时间间隔。这给了我很奇怪的答案,比如让时间间隔错误。我之前将它们打印出来时日期本身是正确的,并且在正常日期使用它们时间间隔方法是有效的,所以我怀疑问题是我如何将日期转换为字符串然后再返回。以下是一些代码:
保存日期:
var date = NSDate()
var dateformatter = NSDateFormatter()
dateformatter.dateStyle = .ShortStyle
dateformatter.timeStyle = .ShortStyle
newContact.lastCallDate = dateformatter.stringFromDate(date)
检索日期并计算时间间隔:
let dateformatter = NSDateFormatter()
dateformatter.dateStyle = .ShortStyle
dateformatter.timeStyle = .ShortStyle
let date2 = dateformatter.dateFromString(newContact.lastCallDate)
println(date2)
let last = date2?.timeIntervalSince1970
let current = NSDate().timeIntervalSince1970
let timeElapsed = current - last!
答案 0 :(得分:0)
此方法仅节省分钟数。我的建议是将其保存为时间间隔
var interval = NSDate().timeIntervalSince1970
然后通过将该时间添加到1970年这样的
来加载它var date = NSDate(timeIntervalSince1970: interval)