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