objective-c - 无法比较两个 NSDates

标签 objective-c ios nsdate

在这里感到困惑...我有两个日期,我通过 NSLog 来控制并获取: 日期是 2011-03-30 13:33:57 +0000 - 2011-03-28 13:33:57 +0000

一个日期显然比另一个晚...但是,在下面的代码中,我使用 [dateUSERPREFS laterDate:dateXML] 还是 [dateUSERPREFS earlierDate:dateXML 并不重要] 我在控制台中显示“we get first 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");
}

最佳答案

[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
}

或者,您可以使用 [dateUSERPREFS timeIntervalSinceDate:dateXML],它为您提供从 dateXMLdateUSERPREFS 的(带符号的)秒数。

关于objective-c - 无法比较两个 NSDates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9893398/

相关文章:

ios - 无法解析格式字符串错误

ios - 使用第一响应者而不是将方法链接到 Controller 层次结构中是否是好的应用程序设计?

ios - 使用 avcapture session 拉伸(stretch)捕获图像

Objective-c 从星期一开始获取星期几,而不是星期日

ios - 对于iOS,是否有人为常用的与日期相关的操作创建了NSDate扩展?

iphone - UIScrollView 触摸似乎不起作用

objective-c - 将 .plist 文件与 iCloud 同步

ios - UITextField 不会成为 FirstResponder

ios - 在 Stripe iOS 实现中调用 Add Token 委托(delegate)后的过程是什么?

objective-c - 计算数组中特定月份的日期数