標籤:
時間解析(NSDate、NSCalendar、NSDateComponents):
1、使用NSCalendar和NSDateComponents解析日期,直接擷取到年月日時分秒。擷取到年月日時分秒其實都是通過NSDateComponents來解析的
[calendar components:(NSCalendarUnitYear |NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:date];
NSDate *date = [NSDate date];NSCalendar *calendar = [NSCalendar currentCalendar];NSDateComponents *comps; // 年月日獲得 comps = [calendar components:(NSCalendarUnitYear |NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:date];NSInteger y = [comps year];NSInteger m = [comps month];NSInteger d = [comps day];NSLog(@"year: %ld month: %ld, day: %ld", y, m, d);
//當前的時分秒獲得comps = [calendar components:(NSCalendarUnitHour |NSCalendarUnitMinute | NSCalendarUnitSecond) fromDate:date];NSInteger h = [comps hour];NSInteger m = [comps minute];NSInteger s = [comps second];NSLog(@"hour: %li minute: %li second: %li", h, m,s);
2、還可以使用NSDateFormatter將日期格式化為 "yyyy-MM-dd hh/HH:mm:ss" 後,再用字串逐步切割,逐漸擷取到年月日時分秒(先用" "切割,然後再用”-“和”:"切割)即可擷取到
NSDate *date = [NSDate date];NSDateFormatter *formatter= [[NSDateFormatteralloc] init];formatter.dateFormat [email protected]"yyyy-MM-dd HH:mm:ss";NSString *str = [formatterstringFromDate:date]; NSArray *arr = [str componentsSeparatedByString:@" "]; NSArray *arr1 = [arr[0] componentsSeparatedByString:@"-"]; // 年 月 日 NSArray *arr2 = [arr[1] componentsSeparatedByString:@":"]; // 時 分 秒
iOS NSDate、NSCalendar、NSDateComponents