NSCalendar浅析

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    // 获取当前时间
//    NSDate *now = [NSDate date];
//    NSLog(@"now = %@", now);
//    
//    // 日历
//    NSCalendar *calendar = [NSCalendar currentCalendar]; // 单例对象
//    // 利用日历类从当前对象中获取,每年每月每日(单独获取出来)
//    // components:参数的含义是,问你需要获取什么?
//    // 一般情况下,如果一个方法接收一个参数,这个参数是一个枚举,那么可以通过|符号,连接多个枚举值
//    
//    NSCalendarUnit type = NSCalendarUnitYear |
//                        NSCalendarUnitMonth |
//                        NSCalendarUnitDay |
//                        NSCalendarUnitHour |
//                        NSCalendarUnitMinute |
//                        NSCalendarUnitSecond;
//    
//    NSDateComponents *cmps = [calendar components:type fromDate:now];
//    NSLog(@"year = %ld", cmps.year);
//    NSLog(@"year = %ld", cmps.month);
//    NSLog(@"year = %ld", cmps.day);
//    NSLog(@"year = %ld", cmps.hour);
//    NSLog(@"year = %ld", cmps.minute);
//    NSLog(@"year = %ld", cmps.second);
    
    // 2.比较两个时间之间的差值,比较差值多少年多少月多少日多少小时多少分钟多少秒
    // 2.1 过去的一个时间
    NSString *str = @"2016-01-12 09:15:43 +0000";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
    NSDate *date = [formatter dateFromString:str];
    
    // 2.2 现在的一个时间
    NSDate *now = [NSDate date];
    
    NSLog(@"date = %@", date);
    NSLog(@"now = %@", now);
    
    // 2.3 比较时间
    NSCalendarUnit type = NSCalendarUnitYear |
                        NSCalendarUnitMonth |
                        NSCalendarUnitDay |
                        NSCalendarUnitHour |
                        NSCalendarUnitMinute |
                        NSCalendarUnitSecond;
    
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *cmps = [calendar components:type fromDate:date toDate:now options:0];
    NSLog(@"%ld年%ld月%ld日%ld时%ld分%ld秒", cmps.year, cmps.month, cmps.day, cmps.hour, cmps.minute, cmps.second);
    
    
    return 0;
}

 

posted @ 2016-01-12 17:36  Z了个L  阅读(249)  评论(0编辑  收藏  举报