在開發(fā)iOS程序時(shí)菜拓,有時(shí)候需要將時(shí)間格式調(diào)整成自己希望的格式,這個(gè)時(shí)候我們可以用NSDateFormatter類來處理。例如:
//實(shí)例化一個(gè)NSDateFormatter對(duì)象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//設(shè)定時(shí)間格式,這里可以設(shè)置成自己需要的格式
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//用[NSDate date]可以獲取系統(tǒng)當(dāng)前時(shí)間
NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];
//輸出格式為:2010-10-27 10:22:13
NSLog(@"%@",currentDateStr);
字符說明
(:)
時(shí)間分隔符醉顽。在某些區(qū)域設(shè)置中缠劝,可以使用其他字符表示時(shí)間分隔符潮梯。時(shí)間分隔符在格式化時(shí)間值時(shí)分隔小時(shí)、分鐘和秒惨恭。格式化輸出中用作時(shí)間分隔符的實(shí)際字符由您的應(yīng)用程序的當(dāng)前區(qū)域性值確定秉馏。
(/)
日期分隔符。在某些區(qū)域設(shè)置中脱羡,可以使用其他字符表示日期分隔符萝究。日期分隔符在格式化日期值時(shí)分隔日、月和年锉罐。格式化輸出中用作日期分隔符的實(shí)際字符由您的應(yīng)用程序的當(dāng)前區(qū)域性確定帆竹。
(%)
用于表明不論尾隨什么字母,隨后字符都應(yīng)該以單字母格式讀取脓规。也用于表明單字母格式應(yīng)以用戶定義格式讀取栽连。有關(guān)更多詳細(xì)信息,請(qǐng)參見下面的內(nèi)容侨舆。
d
將日顯示為不帶前導(dǎo)零的數(shù)字(如 1)秒紧。如果這是用戶定義的數(shù)字格式中的唯一字符,請(qǐng)使用 %d挨下。
dd
將日顯示為帶前導(dǎo)零的數(shù)字(如 01)熔恢。
EEE
將日顯示為縮寫形式(例如 Sun)。
EEEE
將日顯示為全名(例如 Sunday)臭笆。
M
將月份顯示為不帶前導(dǎo)零的數(shù)字(如一月表示為 1)绩聘。如果這是用戶定義的數(shù)字格式中的唯一字符沥割,請(qǐng)使用 %M。
MM
將月份顯示為帶前導(dǎo)零的數(shù)字(例如 01/12/01)凿菩。
MMM
將月份顯示為縮寫形式(例如 Jan)机杜。
MMMM
將月份顯示為完整月份名(例如 January)。
gg
顯示時(shí)代/紀(jì)元字符串(例如 A.D.)
h
使用 12 小時(shí)制將小時(shí)顯示為不帶前導(dǎo)零的數(shù)字(例如 1:15:15 PM)衅谷。如果這是用戶定義的數(shù)字格式中的唯一字符椒拗,請(qǐng)使用 %h。
hh
使用 12 小時(shí)制將小時(shí)顯示為帶前導(dǎo)零的數(shù)字(例如 01:15:15 PM)获黔。
H
使用 24 小時(shí)制將小時(shí)顯示為不帶前導(dǎo)零的數(shù)字(例如 1:15:15)蚀苛。如果這是用戶定義的數(shù)字格式中的唯一字符,請(qǐng)使用 %H玷氏。
HH
使用 24 小時(shí)制將小時(shí)顯示為帶前導(dǎo)零的數(shù)字(例如 01:15:15)堵未。
m
將分鐘顯示為不帶前導(dǎo)零的數(shù)字(例如 12:1:15)。如果這是用戶定義的數(shù)字格式中的唯一字符盏触,請(qǐng)使用 %m渗蟹。
mm
將分鐘顯示為帶前導(dǎo)零的數(shù)字(例如 12:01:15)。
s
將秒顯示為不帶前導(dǎo)零的數(shù)字(例如 12:15:5)赞辩。如果這是用戶定義的數(shù)字格式中的唯一字符雌芽,請(qǐng)使用 %s。
ss
將秒顯示為帶前導(dǎo)零的數(shù)字(例如 12:15:05)辨嗽。
f
顯示秒的小數(shù)部分世落。例如,ff 將精確顯示到百分之一秒糟需,而 ffff 將精確顯示到萬分之一秒屉佳。用戶定義格式中最多可使用七個(gè) f 符號(hào)。如果這是用戶定義的數(shù)字格式中的唯一字符洲押,請(qǐng)使用 %f忘古。
t
使用 12 小時(shí)制,并對(duì)中午之前的任一小時(shí)顯示大寫的 A诅诱,對(duì)中午到 11:59 P.M 之間的任一小時(shí)顯示大寫的 P髓堪。如果這是用戶定義的數(shù)字格式中的唯一字符,請(qǐng)使用 %t娘荡。
tt
對(duì)于使用 12 小時(shí)制的區(qū)域設(shè)置干旁,對(duì)中午之前任一小時(shí)顯示大寫的 AM,對(duì)中午到 11:59 P.M 之間的任一小時(shí)顯示大寫的 PM炮沐。
對(duì)于使用 24 小時(shí)制的區(qū)域設(shè)置争群,不顯示任何字符。
y
將年份 (0-9) 顯示為不帶前導(dǎo)零的數(shù)字大年。如果這是用戶定義的數(shù)字格式中的唯一字符换薄,請(qǐng)使用 %y玉雾。
yy
以帶前導(dǎo)零的兩位數(shù)字格式顯示年份(如果適用)。
yyy
以四位數(shù)字格式顯示年份轻要。
yyyy
以四位數(shù)字格式顯示年份复旬。
z
顯示不帶前導(dǎo)零的時(shí)區(qū)偏移量(如 -8)。如果這是用戶定義的數(shù)字格式中的唯一字符冲泥,請(qǐng)使用 %z驹碍。
zz
顯示帶前導(dǎo)零的時(shí)區(qū)偏移量(例如 -08)
zzz
顯示完整的時(shí)區(qū)偏移量(例如 -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