如果我有两个nsdatecomponent并且我想知道第一个对象中的TIME是否大于第二个。
示例:
if (nsdatecomponentObject1 > nsdatecomponentObject2)
{
//something
}
因为这种方式不起作用,我怎么能这样做?
答案 0 :(得分:7)
在compare:
的{{3}}上使用NSDateComponent
。
if([[nsdatecomponentObject1 date] compare:[nsdatecomponentObject2 date]] == NSOrderedAscending)
答案 1 :(得分:1)
正确(和唯一)比较“动态”两个NSDateComponents的方法是使用NSCalendar对象:
NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
switch([[gregorian dateFromComponents:oneNSDateComponents] compare:[gregorian dateFromComponents:anotherNSDateComponents]]) {
case NSOrderedSame:
NSLog(@"orderSame");
break;
case NSOrderedAscending:
NSLog(@"orderAscending");
break;
case NSOrderedDescending:
NSLog(@"orderDescending");
break;
}