在使用 dateFromString 之后使用 NSTimeInterval
Using NSTimeInterval after using dateFromString
我在 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!
这种方法只节省几分钟。我的建议是保存为时间间隔
var interval = NSDate().timeIntervalSince1970
然后像这样将时间添加到 1970 年日期来加载它
var date = NSDate(timeIntervalSince1970: interval)
我在 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!
这种方法只节省几分钟。我的建议是保存为时间间隔
var interval = NSDate().timeIntervalSince1970
然后像这样将时间添加到 1970 年日期来加载它
var date = NSDate(timeIntervalSince1970: interval)