NSDate (nsdate) 时间 (time )比较

来源:互联网 发布:java压力测试代码 编辑:程序博客网 时间:2024/06/07 06:45

/**

 将传入的小时和分钟 转换成当日的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:[selfCurrentDayTime:@"09:00"]] ==NSOrderedAscending//early

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

            )

    {

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

        return NO;

    }

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

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

            )

    {

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

        return YES;

    }

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

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

            )

    {

        //接受晚上的订单

        return YES;

    }

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

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

            )

    {

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

        return NO;

    }

    return YES;

}





原创粉丝点击