首页 > 解决方案 > 如何在 Swift 中计算和比较日期?

问题描述

我有一个 unixTimeStamp 日期值。我已将其转换为 NSDate:
示例:

1582118428 => 2020-02-19 13:20:28 +0000

工作正常。我进行转换的代码:

let date = NSDate(timeIntervalSince1970: 1582118428)
let dateTimeNow = NSDate()

问题: 我如何比较日期,例如 print("OK") 如果date早于 5 小时dateTimeNow或早于 10 天dateTimeNow

标签: iosswiftdatetimestampnsdate

解决方案


您可以将其用作

extension Date {
  func daysFromToday() -> Int {
    return abs(Calendar.current.dateComponents([.day], from: self, to: Date()).day!)
  }
}

您可以将其称为

if someDate.daysFromToday() >= 10 {
  // your code
}

推荐阅读