首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift: NSDate减去NSDate (小时)

Swift: NSDate减去NSDate (小时)
EN

Stack Overflow用户
提问于 2016-02-01 03:37:39
回答 2查看 411关注 0票数 1

我在Swift中有一个模型,其中有一个名为NSDateexpirationDate字段,我希望根据当前的日期计算过期前的小时数。

有什么简单的方法可以用现有的NSDate功能来做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-01 03:46:22

现在不能检查,但应该是

代码语言:javascript
复制
expirationDate.timeIntervalSinceNow / 3600
票数 2
EN

Stack Overflow用户

发布于 2016-02-01 03:45:40

只需在这两个日期(“现在”和“到期日期”)之间找到秒数(NSTimeInterval),然后除以60*60 = 3600:

代码语言:javascript
复制
let secondsUntilExpiration = expirationDate.timeIntervalSinceDate(NSDate());

let hoursUntilExpiration = secondsUntilExpiration / 3600

例如:

代码语言:javascript
复制
  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.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35122660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档