为了账号安全,请及时绑定邮箱和手机立即绑定

如何比较两个NSDate:哪个是最新的?

如何比较两个NSDate:哪个是最新的?

浮云间 2019-12-11 14:09:32
我正在尝试实现dropBox同步,并且需要比较两个文件的日期。一个在我的dropBox帐户上,另一个在我的iPhone上。我提出了以下建议,但是得到了意想不到的结果。我猜比较两个日期时我做的是根本错误的事情。我只是使用了> <运算符,但是我猜这不好,因为我正在比较两个NSDate字符串。开始了:NSLog(@"dB...lastModified: %@", dbObject.lastModifiedDate); NSLog(@"iP...lastModified: %@", [self getDateOfLocalFile:@"NoteBook.txt"]);if ([dbObject lastModifiedDate] < [self getDateOfLocalFile:@"NoteBook.txt"]) {    NSLog(@"...db is more up-to-date. Download in progress...");    [self DBdownload:@"NoteBook.txt"];    NSLog(@"Download complete.");} else {    NSLog(@"...iP is more up-to-date. Upload in progress...");    [self DBupload:@"NoteBook.txt"];    NSLog(@"Upload complete.");}这给了我以下(随机和错误)输出:2011-05-11 14:20:54.413 NotePage[6918:207] dB...lastModified: 2011-05-11 13:18:25 +00002011-05-11 14:20:54.414 NotePage[6918:207] iP...lastModified: 2011-05-11 13:20:48 +00002011-05-11 14:20:54.415 NotePage[6918:207] ...db is more up-to-date.或这恰好是正确的:2011-05-11 14:20:25.097 NotePage[6903:207] dB...lastModified: 2011-05-11 13:18:25 +00002011-05-11 14:20:25.098 NotePage[6903:207] iP...lastModified: 2011-05-11 13:19:45 +00002011-05-11 14:20:25.099 NotePage[6903:207] ...iP is more up-to-date.
查看完整描述

3 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

让我们假设两个日期:


NSDate *date1;

NSDate *date2;

然后,下面的比较将确定哪个是较早/较晚/相同:


if ([date1 compare:date2] == NSOrderedDescending) {

    NSLog(@"date1 is later than date2");

} else if ([date1 compare:date2] == NSOrderedAscending) {

    NSLog(@"date1 is earlier than date2");

} else {

    NSLog(@"dates are the same");

}



查看完整回答
反对 回复 2019-12-12
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

晚了,但是比较NSDate对象的另一种简单方法是将它们转换为原始类型,从而可以轻松使用'>''<''=='等


例如。


if ([dateA timeIntervalSinceReferenceDate] > [dateB timeIntervalSinceReferenceDate]) {

    //do stuff

}

timeIntervalSinceReferenceDate将日期转换为自参考日期(格林尼治标准时间2001年1月1日)以来的秒数。当timeIntervalSinceReferenceDate返回NSTimeInterval(它是一个double typedef)时,我们可以使用原始比较器。



查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 677 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信