1

我想与 NSDates 进行比较,但仅限于小时和分钟。第一个日期是从数组中给出的,第二个是当前日期。我没有用这种方法到达:

 NSDateComponents *components = [gregorian components:unitFlags
                                                fromDate:date
                                                  toDate:currentDate options:0];

有什么简单好主意可以解决我的问题吗?

编辑: 用户 'sunny' 发布了一些进一步的方法来解决我的问题:如何在 Objective-C 中比较两个日期

4

2 回答 2

4
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comp1 = [calendar components: NSHourCalendarUnit | NSMinuteCalendarUnit
fromDate: date1];

NSDateComponents *comp2 = [calendar components: NSHourCalendarUnit | NSMinuteCalendarUnit
fromDate: date2];

现在您拥有了比较两个日期所需的所有数据。

comp1.hour > comp2.hour
comp1.minute > comp2.minute
于 2013-05-24T12:39:11.770 回答
1

尝试

 NSDateComponents *components = [[NSCalendar currentCalendar]components:NSHourCalendarUnit|NSMinuteCalendarUnit
                                                              fromDate:date
                                                                toDate:currentDate
                                                               options:0];

if (components.hour==0&&components.minute==0) {
    NSLog(@"Equal time");
}
于 2013-05-24T12:40:19.283 回答