我在Swift中有一个模型,其中有一个名为NSDate的expirationDate字段,我希望根据当前的日期计算过期前的小时数。
有什么简单的方法可以用现有的NSDate功能来做到这一点呢?
发布于 2016-02-01 03:46:22
现在不能检查,但应该是
expirationDate.timeIntervalSinceNow / 3600发布于 2016-02-01 03:45:40
只需在这两个日期(“现在”和“到期日期”)之间找到秒数(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.https://stackoverflow.com/questions/35122660
复制相似问题