首页 > 代码库 > 获得现在的日历时间
获得现在的日历时间
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。