//執行個體化一個NSDateFormatter對象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //設定時間格式,這裡可以設定成自己需要的格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //用[NSDate date]可以擷取系統目前時間 NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]]; //輸出格式為:2010-10-27 10:22:13 NSLog(@"%@",currentDateStr); //alloc後對不使用的對象別忘了release [dateFormatter release]; ///根據時間字串獲得當前星期幾-- -(void)GetTime { //根據字串轉換成一種時間格式 供下面解析 NSString* string = @"2013-07-16 13:21"; NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease]; [inputFormatter setDateFormat:@"yyyy-MM-dd HH:mm"]; NSDate* inputDate = [inputFormatter dateFromString:string]; NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease]; NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; comps = [calendar components:unitFlags fromDate:inputDate]; int week = [comps weekday]; NSString *strWeek = [self getweek:week]; self.textfield.text = strWeek; NSLog(@"week is:%@",strWeek); } -(NSString*)getweek:(NSInteger)week { NSString*weekStr=nil; if(week==1) { weekStr=@"星期天"; }else if(week==2){ weekStr=@"星期一"; }else if(week==3){ weekStr=@"星期二"; }else if(week==4){ weekStr=@"星期三"; }else if(week==5){ weekStr=@"星期四"; }else if(week==6){ weekStr=@"星期五"; }else if(week==7){ weekStr=@"星期六"; } return weekStr; } 各種時間字元說明 (:) 時間分隔字元。在某些地區設定中,可以使用其他字元表示時間分隔字元。時間分隔字元在格式化時間值時分隔小時、分鐘和秒。格式化輸出中用作時間分隔字元的實際字元由您的應用程式的目前範圍性值確定。 (/) 日期分隔符號。在某些地區設定中,可以使用其他字元表示日期分隔符號。日期分隔符號在格式化日期值時分隔日、月和年。格式化輸出中用作日期分隔符號的實際字元由您的應用程式的目前範圍性確定。 (%) 用於表明不論尾隨什麼字母,隨後字元都應該以單字母格式讀取。也用於表明單字母格式應以使用者定義格式讀取。有關更多詳細資料,請參見下面的內容。 d 將日顯示為不帶前置字元為零的數字(如 1)。如果這是使用者定義的數字格式中的唯一字元,請使用 %d。 dd 將日顯示為帶前置字元為零的數字(如 01)。 EEE 將日顯示為縮寫形式(例如 Sun)。 EEEE 將日顯示為全名(例如 Sunday)。 M 將月份顯示為不帶前置字元為零的數字(如一月表示為 1)。如果這是使用者定義的數字格式中的唯一字元,請使用 %M。 MM 將月份顯示為帶前置字元為零的數字(例如 01/12/01)。 MMM 將月份顯示為縮寫形式(例如 Jan)。 MMMM 將月份顯示為完整月份名(例如 January)。 gg 顯示時代/紀元字串(例如 A.D.) h 使用 12 小時制將小時顯示為不帶前置字元為零的數字(例如 1:15:15 PM)。如果這是使用者定義的數字格式中的唯一字元,請使用 %h。 hh 使用 12 小時制將小時顯示為帶前置字元為零的數字(例如 01:15:15 PM)。 H 使用 24 小時制將小時顯示為不帶前置字元為零的數字(例如 1:15:15)。如果這是使用者定義的數字格式中的唯一字元,請使用 %H。 HH 使用 24 小時制將小時顯示為帶前置字元為零的數字(例如 01:15:15)。 m 將分鐘顯示為不帶前置字元為零的數字(例如 12:1:15)。如果這是使用者定義的數字格式中的唯一字元,請使用 %m。 mm 將分鐘顯示為帶前置字元為零的數字(例如 12:01:15)。 s 將秒顯示為不帶前置字元為零的數字(例如 12:15:5)。如果這是使用者定義的數字格式中的唯一字元,請使用 %s。 ss 將秒顯示為帶前置字元為零的數字(例如 12:15:05)。 f 顯示秒的小數部分。例如,ff 將精確顯示到百分之一秒,而 ffff 將精確顯示到萬分之一秒。使用者定義格式中最多可使用七個 f 符號。如果這是使用者定義的數字格式中的唯一字元,請使用 %f。 t 使用 12 小時制,並對中午之前的任一小時顯示大寫的 A,對中午到 11:59 P.M 之間的任一小時顯示大寫的 P。如果這是使用者定義的數字格式中的唯一字元,請使用 %t。 tt 對於使用 12 小時制的地區設定,對中午之前任一小時顯示大寫的 AM,對中午到 11:59 P.M 之間的任一小時顯示大寫的 PM。 對於使用 24 小時制的地區設定,不顯示任何字元。 y 將年份 (0-9) 顯示為不帶前置字元為零的數字。如果這是使用者定義的數字格式中的唯一字元,請使用 %y。 yy 以帶前置字元為零的兩位元字格式顯示年份(如果適用)。 yyy 以四位元字格式顯示年份。 yyyy 以四位元字格式顯示年份。 z 顯示不帶前置字元為零的時區位移量(如 -8)。如果這是使用者定義的數字格式中的唯一字元,請使用 %z。 zz 顯示帶前置字元為零的時區位移量(例如 -08) zzz 顯示完整的時區位移量(例如 -08:00) 格式顯示 M/d/yy 12/7/58 d-MMM 7-Dec d-MMMM-yy 7-December-58 d MMMM 7 December MMMM yy December 58 hh:mm tt 08:50 PM h:mm:ss t 8:50:35 P H:mm 20:50 H:mm:ss 20:50:35 M/d/yyyy H:mm 12/7/1958 20:50