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