使用dateFromString后使用NSTimeInterval

时间:2015-04-27 18:27:54

标签: swift date nsdate nsdateformatter nstimeinterval

我在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!

1 个答案:

答案 0 :(得分:0)

此方法仅节省分钟数。我的建议是将其保存为时间间隔

var interval = NSDate().timeIntervalSince1970

然后通过将该时间添加到1970年这样的

来加载它
var date = NSDate(timeIntervalSince1970: interval)