检查NSDate是否是6个月前

时间:2016-02-19 19:10:40

标签: ios cocoa-touch datetime calendar nsdate

我从服务器返回了一个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{
    }

3 个答案:

答案 0 :(得分:4)

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

如果2个日期相差6个月和1天,那么> 6个月? 6个月1秒怎么样?或者你只考虑2个日期是不同的> 6个月如果相差至少7个月?

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

答案 1 :(得分:0)

斯威夫特3:

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

答案 2 :(得分:-3)

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

    }