NSDate (nsdate) 时间 (time )比较

/**

 将传入的小时和分钟 转换成当日的date

 例如传入 800 str 返回 2013-01-01 0800 nsdate

 **/


-(NSDate *)CurrentDayTime:(NSString *)dataStr

{

    //设置转换的format

    NSDateFormatter *dateFormatter = [[[NSDateFormatteralloc]init]autorelease];

    [dateFormatter setLocale:[NSLocalecurrentLocale]];

    

    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];

    //获取当前年月日 

    NSDate *currentdate = [NSDatedate];

    NSCalendar *calendar = [NSCalendarcurrentCalendar];

    NSDateComponents *components = [calendarcomponents:(

                                                         NSYearCalendarUnit  |

                                                         NSMonthCalendarUnit |

                                                         NSDayCalendarUnit |

                                                         NSHourCalendarUnit |

                                                         NSMinuteCalendarUnit

                                                         ) fromDate:currentdate];

   NSInteger year = [components year];

   NSInteger month = [components month];

   NSInteger day = [components day];

   NSString *strDate = [NSString stringWithFormat:@"%d-%d-%d %@",year,month,day,dataStr];

   NSDate *date = [dateFormatter dateFromString:strDate];

   return date;

    

}

 



NSLog(@"%@\n%@",[selfCurrentDayTime:@"18:00"] ,[NSDatedate]);

    NSDate *date = [NSDatedate];

    if ([datecompare:[selfCurrentDayTime:@"18:00"]] ==NSOrderedDescending)

    {

        NSLog(@"date1 is later than date2");

        

    } else if ([datecompare:[selfCurrentDayTime:@"18:00"]] ==NSOrderedAscending)

    {

        NSLog(@"date1 is earlier than date2");

        

    } else

    {

        NSLog(@"dates are the same");

        

    }

用法如下

-(BOOL)checkCanDinner

{

    NSDate *currentDate = [NSDatedate];

    if ([currentDate compare:[selfCurrentDayTime:@"08:59"]] == NSOrderedDescending //late

        && [currentDate compare:[selfCurrentDayTime:@"13:59"]] == NSOrderedAscending //early

        )

    {

        //9:00-14:00 可以订餐

        return YES;

    }

    else if([currentDatecompare:[self CurrentDayTime:@"09:00"]] ==NSOrderedAscending //early

            && [currentDate compare:[selfCurrentDayTime:@"00:00"]] ==  NSOrderedDescending//late

            )

    {

        HFAlert(@"因较多餐厅休息,9:00之前掌上餐厅不接收订餐,为您带来的不便请谅解。");

        return NO;

    }

    else if([currentDatecompare:[self CurrentDayTime:@"17:59"]] ==NSOrderedAscending //early

            && [currentDate compare:[selfCurrentDayTime:@"14:00"]] ==  NSOrderedDescending//late

            )

    {

        HFAlert(@"因较多餐厅休息,14:00以后掌上餐厅仅接收晚餐订餐,为您带来的不便请谅解。");

        return YES;

    }

    else if([currentDatecompare:[self CurrentDayTime:@"21:00"]] ==NSOrderedAscending //early

            && [currentDate compare:[selfCurrentDayTime:@"18:00"]] ==  NSOrderedDescending//late

            )

    {

        //接受晚上的订单

        return YES;

    }

    else if([currentDatecompare:[self CurrentDayTime:@"23:59"]] ==NSOrderedAscending //early

            && [currentDate compare:[selfCurrentDayTime:@"21:00"]] ==  NSOrderedDescending//late

            )

    {

        HFAlert(@"因较多餐厅休息,21:00以后掌上餐厅不接收订餐,为您带来的不便请谅解。");

        return NO;

    }

    return YES;

}





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值