say*_*guh 0 objective-c nsdate ios
在这里感到困惑...我有两个日期,我NSLog控制和获取:日期是 2011-03-30 13:33:57 +0000 - 2011-03-28 13:33:57 +0000
一个日期明显晚于另一个......但是,在下面的代码中,如果我使用[dateUSERPREFS laterDate:dateXML]或者[dateUSERPREFS earlierDate:dateXML]在控制台中显示"我们得到第一个IF" 并不重要?
有任何想法吗?谢谢,
NSDate *dateXML = [df dateFromString:last_modifiedXML];
NSDate *dateUSERPREFS = [df dateFromString:last_modifiedUSERPREFS];
NSLog(@"dates are %@ - %@", dateXML, dateUSERPREFS);
if ([dateUSERPREFS laterDate:dateXML]) {
NSLog(@"we get first IF");
}
Run Code Online (Sandbox Code Playgroud)
yuj*_*uji 12
[aDate laterDate:anotherDate]返回一个NSDate,而不是一个BOOL.具体来说,它返回两个日期中的较晚者.
您想要使用compare::
NSComparisonResult comparisonResult = [dateUSERPREFS compare:dateXML];
if (comparisonResult == NSOrderedAscending) {
// case where dateUSERPREFS is before dateXML
} else if (comparisonResult == NSOrderedSame) {
// both dates are the same
} else if (comparisonResult == NSOrderedDescending) {
// this could have just been a plain else; dateUSERPrefs after dateXML
}
Run Code Online (Sandbox Code Playgroud)
或者,你可以使用[dateUSERPREFS timeIntervalSinceDate:dateXML]它给你秒(签字)数量从dateXML到dateUSERPREFS.