大家在使用Date對象輸出日期字符串表示的時候,大多會遇見一些不算困難的困難。說他不算困難是因?yàn)椋蠹也皇遣粫觯皇且话惴爆嵉霓D(zhuǎn)化工作使人很煩惱,而大多數(shù)人不太原意考慮。有些人可能對這方面有所了解,但可能也不夠充分,所以我在這里把我所知道的寫出來,一來供大家參考,二來也算是拋磚引玉,希望能有更多的人討論這個話題。
在JAVA中有一個很有用的類:SimpleDateFormat,它使用模板方法以文本形式格式化輸出日期對象。一般的用法如下:
SimpleDateFormat f=new SimpleDateFormat("MMM dd,yyyy");
f.format(new Date());
構(gòu)造SimpleDateFormat使用的字符串就是模扳。這個模扳的表示即
為"February 21th, 2004"的式樣。
其他模扳符號定義為:
符號 意義 顯示形式
舉例
G 公元 文本
AD
y 年份 數(shù)字
2001
M 月 文本或數(shù)字
July或07
d 日 數(shù)字
10
h A.M./P.M.制的鐘點(diǎn)(1~12) 數(shù)字
12
H 24小時制的鐘點(diǎn)(0~23) 數(shù)字
0
m 分鐘 數(shù)字
30
s 秒 數(shù)字
43
S 毫妙 數(shù)字
234
E 星期幾 文本
Tuesday
D 一年中的第幾天 數(shù)字
360
F 某月中的第幾個星期幾 數(shù)字
2
w 一年中的第幾個星期 數(shù)字
40
W 一個月中的第幾個星期 數(shù)字
1
a A.M./P.M.標(biāo)記 文本
PM
k 24小時制的鐘點(diǎn)(1~24) 數(shù)字
24
K A.M./P.M.制的鐘點(diǎn)(0~11) 數(shù)字
0
z 時區(qū) 文本
Eastern
' 轉(zhuǎn)義符 分隔符
'' 單引號 符號
'
這些符號是可以隨意組合的,其中,顯示形式為"文本"的符號,使用4個或以上的重復(fù)組合將輸出長文本字符串,反之輸出短字符串。
如:E產(chǎn)生Mon,而EEEE則產(chǎn)生Monday。對于顯示形式為"文本和數(shù)字"的符號,兩次以下包括兩次的復(fù)用產(chǎn)生數(shù)字,而兩次以上則產(chǎn)生文本。
另外,字符串模板不單可以在構(gòu)造函數(shù)中使用,更可以在程序中動態(tài)的指定、變換。