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的意思是:左边的操作对象大于右边的对象。

posted on 2017-05-23 13:55  强者VS弱者  阅读(222)  评论(0编辑  收藏  举报