iOS NSDate、NSCalendar、NSDateComponents

來源:互聯網
上載者:User

標籤:

時間解析(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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.