2011年1月8日

[iPhone] setDateFormat 顯示格式代號


我想用12小時制來顯示時間,以下是我的程式碼…

    

NSDate *currentDateandTime = [NSDate date];
    
NSDateFormatter *date_formater=[[NSDateFormatter alloc]init];
[date_formater setDateFormat:@"YYYY / MM / dd"];
NSString *date = [date_formater stringFromDate:currentDateandTime];//date data
    
[date_formater setDateFormat:@"KK : mm aa"];
NSString *time = [date_formater stringFromDate:currentDateandTime];//time data
 
 


 

首先是先取得目前的時間和日期物件NSDate,存入currentDateandTime

接下來指定顯示的格示,setDateFormat:@"YYYY/MM/dd",這樣會顯示成 2011/01/08

setDateFormat:@"KK:mm aa",會顯示成 02:51 PM


 

以下是setDateFormat可使用的英文代號:



紀元的顯示:
G:顯示AD,也就是公元
 
年的顯示:
yy:年的後面2位數字
yyyy:顯示完整的年
 
月的顯示:
M:顯示成1~12,1位數或2位數
MM:顯示成01~12,不足2位數會補0
MMM:英文月份的縮寫,例如:Jan
MMMM:英文月份完整顯示,例如:January


日的顯示:
d:顯示成1~31,1位數或2位數
dd:顯示成01~31,不足2位數會補0
 
星期的顯示:
EEE:星期的英文縮寫,如Sun
EEEE:星期的英文完整顯示,如,Sunday

 

上/下午的顯示:
aa:顯示AM或PM


小時的顯示:
H:顯示成0~23,1位數或2位數(24小時制)
HH:顯示成00~23,不足2位數會補0(24小時制)
K:顯示成0~12,1位數或2位數(12小時制)
KK:顯示成0~12,不足2位數會補0(12小時制)


分的顯示:
m:顯示0~59,1位數或2位數
mm:顯示00~59,不足2位數會補0


秒的顯示:
s:顯示0~59,1位數或2位數
ss:顯示00~59,不足2位數會補0
S: 毫秒的顯示

時區的顯示:
z / zz /zzz PDT
zzzzPacific Daylight Time
Z / ZZ / ZZZ -0800
ZZZZGMT -08:00
vPT
vvvvPacific Time

沒有留言: