不知道有没有直接比较的方法,先搞定交差先,未完待续。
如何在Objective-C比较两个日期 NSString和NSDate相互转换
(2011-12-09 14:15:39) NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
//注意dateFormatter的格式一定要按字符串的样子来,如果不对,转换出来是nill。
//时区格式,可以不用设置
//NSTimeZone *timeZone = [NSTimeZone localTimeZone];
//[formatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"YYYY/MM/dd"]; //设置日期格式
NSDate *today = [NSDate date]; //当前日期NSString *date = @"2011/10/05"; //开始日期
NSDate *newDate = [dateFormatter dateFromString:date];
NSLog(@"today:%@", [dateFormatter stringFromDate:today]);
NSLog(@"newDate:%@", [dateFormatter stringFromDate:newDate]);//将NSDate转为NSString
//BOOL b = [today isEqualToDate:newDate];//日期相同返回YES
//NSDate *r = [today earlierDate:newDate];//返回较早的那个日期
NSDate *r = [today laterDate:newDate];
if([today isEqualToDate:newDate]) {
[self.myPayedOrders addObject:ar];
NSLog(@"日期相同");
}else{
if([r isEqualToDate:newDate]) {
NSLog(@"未过期");
//
}else{
NSLog(@"已过期");
//
}
}