NSDate 时间比较...等


http://blog.csdn.net/reylen/article/details/8560128


创建当前时间 NSDate *date = [NSDate date]; 从现在开始的24小时 NSTimeInterval a_day = 24*60*60; NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:a_day]; 根据已有日期创建日期 [cpp] view plain copy print? NSTimeInterval a_day = 24*60*60; NSDate *date = [NSDate date]; NSDate *tomorrow = [date addTimeInterval: date]; 日期比较 [cpp] view plain copy print? BOOL isEqual = [date isEqualToDate:tomorrow]; f(isEqual){ NSLog(@"equal"); //获取较早的日期 [cpp] view plain copy print? NSDate *earlier_date = [tomorrow earlierDate:date]; NSLog(@"earlierDate = %@",earlierDate); //较晚的日期 [cpp] view plain copy print? NSDate *laterDate = [tomorrow laterDate:date]; NSLog(@"laterDate = %@",laterDate); //两个日期之间相隔多少秒 [cpp] view plain copy print? NSTimeInterval secondsInterval= [date timeIntervalSinceDate:tomorrow]; NSLog(@"secondsInterval= %lf",secondsInterval); //通过NSCalendar类来创建日期 [cpp] view plain copy print? NSDateComponents *comps = [[NSDateComponentsalloc]init]; [comps setMonth:01]; [comps setDay:31]; [comps setYear:2013]; NSCalendar *calendar = [[NSCalendaralloc]initWithCalendarIdentifier:NSGregorianCalendar]; NSDate *date = [calendar dateFromComponents:comps]; //从已有日期获取日期 [cpp] view plain copy print? unsigned units = NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit; NSDateComponents *_comps = [calendar components:units fromDate:date]; NSInteger month = [_comps month]; NSInteger year = [_comps year]; NSInteger day = [_comps day]; //NSDateFormatter实现日期的输出 NSDateFormatter *formatter = [[NSDateFormatteralloc]init]; [formatter setDateStyle:NSDateFormatterFullStyle];//直接输出的话是机器码 //或者是手动设置样式[formatter setDateFormat:@"yyyy-mm-dd"]; NSString *dateString = [formatter stringFromDate:date]; NSLog(@"dateString = %@",dateString); NSLog(@"formater = %@",formatter); //获取日期格式对象 [cpp] view plain copy print? - (NSDateFormatter *)getDateFormatter { if (dateFormatter == nil) { dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; [dateFormatter setTimeStyle:NSDateFormatterNoStyle]; } return dateFormatter; }

时间比较

-(int)compareDate:(NSString*)date01 withDate:(NSString*)date02{
    int ci;
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *dt1 = [[NSDate alloc] init];
    NSDate *dt2 = [[NSDate alloc] init];
    dt1 = [df dateFromString:date01];
    dt2 = [df dateFromString:date02];
    NSComparisonResult result = [dt1 compare:dt2];
    switch (result)
    {
        //date02比date01大
        case NSOrderedAscending: ci=1; break;
        //date02比date01小
        case NSOrderedDescending: ci=-1; break;
        //date02=date01
        case NSOrderedSame: ci=0; break;
        default: NSLog(@"erorr dates %@, %@", dt2, dt1); break;
    }
    return ci;
}
原文地址:https://www.cnblogs.com/yeng/p/5799820.html