在開發iOS程式時,有時候需要將時間格式調整成自己希望的格式,這個時候我們可以用NSDateFormatter類來處理。
例如:
[objc] view plain copy //執行個體化一個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];
字元說明
(:)
時間分隔字元。在某些地區設定中,可以使用其他字元表示時間分隔字元。時間分隔字元在格式化時間值時分隔小時、分鐘和秒。格式化輸出中用作時間分隔字元的實際字元由您的應用程式的目前範圍性值確定。
(/)
日期分隔符號。在某些地區設定中,可以使用其他字元表示日期分隔符號。日期分隔符號在格式化日期值時分隔日、月和年。格式化輸出中用作日期分隔符號的實際字元由您的應用程式的目前範圍性確定。
(%)
用於表明不論尾隨什麼字母,隨後字元都應該以單字母格式讀取。也用於表明單字母格式應以使用者定義格式讀取。有關更多詳細資料,請參見下面的內容。
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