0
我有一个Swift模型NSDate
字段名为expirationDate
,我想根据当前日期计算剩余到期之前。Swift:NSDate减去NSDate小时
有没有一种简单的方法来做到这一点与现有的NSDate
功能?
我有一个Swift模型NSDate
字段名为expirationDate
,我想根据当前日期计算剩余到期之前。Swift:NSDate减去NSDate小时
有没有一种简单的方法来做到这一点与现有的NSDate
功能?
现在不能检查,但应该类似
expirationDate.timeIntervalSinceNow/3600
只要找到秒(NSTimeInterval
)两个日期之间通过60 * 60 = 3600号( '现在' 和到期日期)和除法:
let secondsUntilExpiration = expirationDate.timeIntervalSinceDate(NSDate());
let hoursUntilExpiration = secondsUntilExpiration/3600
例如:
7> let now = NSDate()
now: NSDate = 2016-02-01 03:44:06 UTC
8> let expirationDate = now.dateByAddingTimeInterval(60*60*10) // ten hours from now
expirationDate: NSDate = 2016-02-01 13:44:06 UTC
9> let secondsUntilExpiration = expirationDate.timeIntervalSinceDate(NSDate());
secondsUntilExpiration: NSTimeInterval = 35991.422316968441
10> let hoursUntilExpiration = secondsUntilExpiration/3600
hoursUntilExpiration: Double = 9.9976173102690122
// Slightly less than the 10 hours above because of the time it took me to type.
这是一个比我更好的答案,我完全在T间隔imeIntervalSince现在甚至是一件事情。您的答案在REPL中无需修改即可使用。 – Undo