java獲取系統時間的一個小陷阱

	long time = System.currentTimeMillis();
	Date date = new Date(time);
	SimpleDateFormat sdf12 = new SimpleDateFormat("yyyyMMdd-HHmmss");
	System.out.println(sdf12.format(date));
	SimpleDateFormat sdf23 = new SimpleDateFormat("yyyyMMdd-hhmmss");
	System.out.println(sdf23.format(date));

兩個print的輸出結果是

20120813-142051
20120813-022051

可以發現,HH表示0-23小時制,hh表示0-12小時制,

附錄,轉自java docs

Date and Time Patterns

Letter Date or Time Component Presentation Examples
G Era designator Text AD
y Year Year 199696
M Month in year Month JulyJul07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day in week Text TuesdayTue
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard TimePSTGMT-08:00
Z Time zone RFC 822 time zone -0800

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章