IOS開發—NSDateFormatter
格式化參數如下:
G: 公元時代,例如AD公元yy: 年的後2位yyyy: 完整年MM: 月,顯示為1-12MMM: 月,顯示為英文月份簡寫,如 JanMMMM: 月,顯示為英文月份全稱,如 Janualydd: 日,2位元表示,如02d: 日,1-2位顯示,如 2EEE: 簡寫星期幾,如SunEEEE: 全寫星期幾,如Sundayaa: 上下午,AM/PMH: 時,24小時制,0-23K:時,12小時制,0-11m: 分,1-2位mm: 分,2位s: 秒,1-2位ss: 秒,2位S: 毫秒
常用日期結構:
yyyy-MM-dd HH:mm:ss.SSSyyyy-MM-dd HH:mm:ssyyyy-MM-ddMM dd yyyy
程式碼範例:
- (void)loadBaseUI{ //執行個體化 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@yyyy-MM-dd HH:mm:ss]; //date -> string(轉換為指定格式的date) NSDate *currentDate = [NSDate date]; NSString *dateString = [dateFormatter stringFromDate:currentDate]; NSLog(@%@,dateString); //string -> date(dateFormatter設定的格式必須和字串格式一致,不然返回null) NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc]init]; [dateFormatter2 setDateFormat:@yyyy年MM月dd日 HH時mm分]; NSString *string = @2015年8月28日 13時55分; NSDate *target = [dateFormatter2 dateFromString:string]; NSLog(@%@,target); //輸出 //2015-07-16 14:10:11.771 NSDateFormatter[2950:109663] 2015-07-16 14:10:11 //2015-07-16 14:10:11.773 NSDateFormatter[2950:109663] 2015-08-28 05:55:00 +0000}
//擷取指定時間
- (NSString *)GetTomorrowDay:(NSDate *)aDate{ //公裡日曆 NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [gregorian components:NSCalendarUnitWeekday | NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:aDate]; [components setDay:([components day]+1)]; //擷取下一天日期 NSDate *beginningOfWeek = [gregorian dateFromComponents:components]; NSDateFormatter *dateday = [[NSDateFormatter alloc] init]; [dateday setDateFormat:@yyyy-MM-dd]; return [dateday stringFromDate:beginningOfWeek];}