查看 NSDate 是否为 6 个月前

Check to see if NSDate was 6 months ago

我从我的服务器返回了一个 NSDate 值,我需要知道这个 NSDate 是多久以前的。我需要写一个条件来查看日期是否早于 6 个月(在 Swift 中,但我可以转换 Objective-C)。

这是在控制台中打印时返回的 NSDate:

 (2015-09-07 01:22:01 +0000)

如何检查上述日期是否早于 6 个月?

逻辑是这样的:

//dateValue is the NSDate returned
var dateValue = log.createdAt
    if (dateValue > 6 months){
    }
    else{
    }

看看 NSCalendar class,特别是像 components:fromDate:toDate:options: 这样的方法。

如果这两个日期相差 6 个月零一天,是否 > 6 个月? 6个月零1秒怎么样?或者如果这两个日期相差至少 7 个月,您是否只认为它们相差 > 6 个月?

您需要根据您所追求的确切结果对您的解决方案进行不同的编码。

    if date.earlierDate(NSDate(timeInterval: -60*60*24*30*6, sinceDate: NSDate())) == date {
        // 6 months passed since date

    }

Swift 3:

 if (nextStepDate.earlierDate(Date(timeInterval: -60*60*24*30*6, since: Date())) == date) {
     //do something                                         
 }