NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
// [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
[formatter setDateFormat:@"YYYY-MM-dd"];
//现在时间,你可以输出来看下是什么格式
NSDate *datenow = [NSDate date];
//----------将nsdate按formatter格式转成nsstring
NSString *nowtimeStr = [formatter stringFromDate:datenow];
NSLog(@"nowtimeStr = %@",nowtimeStr);
NSString *startTime=@"2017-05-01";
NSDate *startDate = [formatter dateFromString:startTime];
NSString *endTime=@"2017-05-22";
NSDate *endDate = [formatter dateFromString:endTime];
[self checkDateBeginDate:startDate endDate:endDate];
//时间对比方法
- (NSInteger)checkDateBeginDate:(NSDate *)beginDate endDate:(NSDate *)endDate {
/**
NSTimeInterval timeInterval = [endDate timeIntervalSinceDate:beginDate];
NSInteger days = timeInterval/(3600*24);
NSLog(@"----days:----%ld",days);
**/
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.dateFormat = @"yyyy-MM-dd";
NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];
NSDate *currentDate = [dateFormatter dateFromString:currentDateStr];
//当天日期小于结束日期并且当前日期大于开始时间
if ([currentDate compare:endDate] == NSOrderedAscending&&[currentDate compare:beginDate] == NSOrderedDescending) {
NSLog(@"该楼盘在销售时间范围内");
}
//起始日期大于截止日期
if ([currentDate compare:endDate] == NSOrderedDescending) {
NSLog(@"该楼盘已经过期");
}
// //起始日期与截止日期间隔不能大于3个月
// if ([[beginDate dateByAddingTimeInterval:3*30*24*60*60] compare:endDate] == NSOrderedDescending) {
// return 1;
// }
// //起始日期与截止日期间隔大于3个月
return 0;
}
*重要提示:
NSOrderedAscending的意思是:左边的操作对象小于右边的对象。
NSOrderedDescending的意思是:左边的操作对象大于右边的对象。