java 使用simpleDateFormat格式化日期 时间
一、先看看字符的意思
源码链接:http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
标识符表格:
Letter | Date or Time Component | Presentation | Examples |
---|---|---|---|
G | Era designator | Text | AD |
y | Year | Year | 1996 ; 96 |
M | Month in year | Month | July ; Jul ; 07 |
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 | Tuesday ; Tue |
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 Time ; PST ; GMT-08:00 |
Z | Time zone | RFC 822 time zone | -0800 |
二、举例
Date and Time Pattern | Result |
---|---|
"yyyy.MM.dd G 'at' HH:mm:ss z" | 2001.07.04 AD at 16:08:56 PDT |
"EEE, MMM d, ''yy" | Wed, Jul 4, '01 |
"h:mm a" | 12:08 PM |
"hh 'o''clock' a, zzzz" | 12 o'clock PM, Pacific Daylight Time |
"K:mm a, z" | 0:08 PM, PDT |
"yyyyy.MMMMM.dd GGG hh:mm aaa" | 02001.July.04 AD 12:08 PM |
"EEE, d MMM yyyy HH:mm:ss Z" | Wed, 4 Jul 2001 12:08:56 -0700 |
"yyMMddHHmmssZ" | 010704120856-0700 |
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" | 2001-07-04T12:08:56.235-0700 |
输入:
- 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);
输出:
现在是2017年01月01日 13(01)时 11分 44秒 433毫秒 星期星期日 今年的第1天 这个月的第1星期 今年的第1个星期
这个月的第1个星期 今天的下午 131~24制时间 10-11小时制时间 CST时区
三、注意
1、大小写不可混乱
2、特殊字符需要转义