首页 > 代码库 > 获得现在的日历时间

获得现在的日历时间

 

1,NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间

 

2,日历对象封装了对系统日期的计算,包括这一年开始,总天数以及划分。你将使用日历对象对绝对日期与date components(包括年,月,日,时,分,秒)进行转换。NSCalendar定义了不同的日历,包括佛教历,格里高利历等(这些都与系统提供的本地化设置相关)。NSCalendar与NSDateComponents对象紧密相关。

 

偶然的机会接触了另外一种时间 ,NSCalendar,很奇怪,原来苹果系统有2种计算时间的方法。

 

- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view.        NSLog(@"-------getCurrentTime---%@",[self getCurrentTime]);    }#pragma -mark -获取现在的日历时间  输出形式 2014-06-27 15:41:55- (NSString *) getCurrentTime{        NSDate* date = [NSDate date];        //日历为阳历     NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];    //表示一个日期对象的组件    NSDateComponents *component = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:date];    //设定时区    [component setTimeZone:[NSTimeZone systemTimeZone]];        NSInteger year = [component year];    NSInteger month = [component month];    NSInteger day = [component day];    NSInteger hour = [component hour];    NSInteger minute = [component minute];    NSInteger second = [component second];        NSString* dateString = [NSString stringWithFormat:@"%i-%@%i-%@%i %@%2i:%@%2i:%@%i" , year , month > 10 ? @"" :@"0",month , day > 10 ? @"" :@"0", day , hour > 10 ? @"" :@"0", hour  , minute > 10 ? @"" :@"0", minute ,second > 10 ? @"" :@"0", second];    return dateString;    }

 

 

打印出的:

 

1 2014-06-27 15:58:11.463 getCurrentTime[3944:60b] -------getCurrentTime---2014-06-27 15:58:11