首先了解一下格式化日志的所有表示。
- 時間日期標識符:
- yyyy:年
- MM:月
- dd:日
- hh:1~12小時制(1-12)
- HH:24小時制(0-23)
- mm:分
- ss:秒
- S:毫秒
- E:星期幾
- D:一年中的第幾天
- F:一月中的第幾個星期(會把這個月總共過的天數除以7)
- w:一年中的第幾個星期
- W:一月中的第幾星期(會根據實際情況來算)
- a:上下午標識
- k:和HH差不多,表示一天24小時制(1-24)。
- K:和hh<span >差不多</span><span >,表示一天12小時制(0-11)。</span>
- z:表示時區
要注意其中的大小寫哦,不然會格式化后的日期會很亂的哦!!!
同時沒個字母可以寫多個,如:yyyyyyyyyyy。根據你的數大小,根據寫的字母的長度,在前面補零。
比如:你要把2013 - 08 - 13 15:29:44這個時間格式化成2013 年 08 月 13 日 15 時 29 分 44 秒
一不小心把格式化日期中時間標識符中的大小寫搞錯了。
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH時MM分ss秒");
- 寫成這樣了。最后得到的結果就不對了。
- 這個MM這里寫的是月份的表示。而分鍾的表示則是mm。所以要注意、
下面是把日期格式話成最全的例子。
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyyyyy-MM-dd HH(hh):mm:ss S E D F w W a k K z");
- long times = System.currentTimeMillis();
- System.out.println(times);
- Date date = new Date(times);
- String tim = sdf.format(date);
- System.out.println(tim);
輸出的結果:
- 00002013-08-14 15(03):56:40 742 星期三 226 2 33 3 下午 15 3 CST
- SimpleDateFormat sdf = new SimpleDateFormat("現在是yyyy年MM月dd日 HH(hh)時 mm分 ss秒 S毫秒 星期E 今年的第D天 這個月的第F星期 今年的第w個星期 這個月的第W個星期 今天的a k1~24制時間 K0-11小時制時間 z時區");
- long times = System.currentTimeMillis();
- System.out.println(times);
- Date date = new Date(times);
- String tim = sdf.format(date);
- System.out.println(tim);
輸出結果:
- 現在是2013年08月14日 16(04)時 03分 03秒 812毫秒 星期星期三 今年的第226天 這個月的第2星期 今年的第33個星期 這個月的第3個星期 今天的下午 161~24制時間 40-11小時制時間 CST時區
標識符表格:
| Symbol |
Meaning |
Presentation |
Example |
| G |
era designator |
Text |
AD |
| y |
year |
Number |
2009 |
| M |
month in year |
Text & Number |
July & 07 |
| d |
day in month |
Number |
10 |
| h |
hour in am/pm (1-12) |
Number |
12 |
| H |
hour in day (0-23) |
Number |
0 |
| m |
minute in hour |
Number |
30 |
| s |
second in minute |
Number |
55 |
| S |
millisecond |
Number |
978 |
| E |
day in week |
Text |
Tuesday |
| D |
day in year |
Number |
189 |
| F |
day of week in month |
Number |
2 (2nd Wed in July) |
| w |
week in year |
Number |
27 |
| W |
week in month |
Number |
2 |
| a |
am/pm marker |
Text |
PM |
| k |
hour in day (1-24) |
Number |
24 |
| K |
hour in am/pm (0-11) |
Number |
0 |
| z |
time zone |
Text |
Pacific Standard Time |
| ' |
escape for text |
Delimiter |
(none) |
| ' |
single quote |
Literal |
' |
文轉:http://blog.csdn.net/yangbobo1992/article/details/9965105