NSDate、NSCalendar、NSDateFormatter

AppDelegate.m

    NSDate *now1 = [[NSDate alloc]init];
    NSDate *now2 = [NSDate date];
    NSLog(@"%@",now1);
    NSLog(@"%@",now2);
    //追加时间
    NSDate *beforeAnHour = [now1 dateByAddingTimeInterval:-3600 * 24];
    NSDate *anHourAfter = [now1 dateByAddingTimeInterval:3600 * 24];
    NSLog(@"%@",beforeAnHour);
    NSLog(@"%@",anHourAfter);
    //日期时间差
    NSTimeInterval timeBetween = [now1 timeIntervalSinceDate:beforeAnHour];
    NSTimeInterval interval = [anHourAfter timeIntervalSinceNow];
    NSLog(@"%f",timeBetween);
    NSLog(@"%f",interval);
    //得到时间迟的日期
    if([now1 isEqualToDate:now1])
    {
        NSLog(@"early date = %@",[now1 earlierDate:beforeAnHour]);
    }
    
    //自定义日历
    NSDateComponents *components = [[NSDateComponents alloc]init];
    [components setYear:2014];
    [components setMonth:1];
    [components setDay:1];
    [components setHour:21];
    [components setMinute:30];
    [components setSecond:56];
    
    NSCalendar *currentCalend = [NSCalendar currentCalendar];
    NSDate *date = [currentCalend dateFromComponents:components];
    NSLog(@"%@",date);//东八区
    
    //自定义date格式
    NSDateFormatter *formate = [[NSDateFormatter alloc]init];
    [formate setDateFormat:@"yyyy年MM月dd日HH时mm分ss秒"];
    NSString *strDate = [formate stringFromDate:date];
    NSLog(@"%@",strDate);
    NSDate *myDate = [formate dateFromString:strDate];
    NSLog(@"%@",myDate);//东八区

 计算和所给时间和当天时间的差距

NSDate *date = [NSDate dateWithTimeIntervalSinceNow:-90000];
    NSCalendar *calendar = [NSCalendar currentCalendar];//日历
    NSDateComponents *components = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:date toDate:[NSDate date] options:0];
    int year = [components year];
    int month = [components month];
    int day = [components day];
    //三天以内更改显示格式
    if (year == 0 && month == 0 && day < 3) {
        if (day == 0) {
            self.title = NSLocalizedString(@"今天",nil);
        }
        else if (day == 1) {
            self.title = NSLocalizedString(@"昨天",nil);
        }
        else if (day== 2) {
            self.title = NSLocalizedString(@"前天",nil);
        }
    }

 

posted @ 2014-01-27 18:36  forrHuen  阅读(348)  评论(0编辑  收藏  举报