开发中经常会用到格式化的时间,SimpleDateFormat类就可以轻松过解决这些问题,引用Oracle官方文档介绍:
SimpleDateFormat is a concrete class for formatting and parsing dates in a locale-sensitive manner. It allows for formatting (date -> text), parsing (text -> date), and normalization.
即SimpleDateFormat是一个可以以局部敏感方式格式化、解析日期的一个具体的类, 支持date --> String 的格式化 、 String --> date的解析 、标准化(默认方式); 看完就知道为什么么是局部敏感了~
The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved):
Letter | Date or Time Component | Presentation | Examples |
G | Era designator | AD | |
y | Year | 1996; 96 | |
M | Month in year | July; Jul; 07 | |
w | Week in year | 27 | |
W | Week in month | 2 | |
D | Day in year | 189 | |
d | Day in month | 10 | |
F | Day of week in month | 2 | |
E | Day in week | Tuesday; Tue | |
a | Am/pm marker | PM | |
H | Hour in day (0-23) | 0 | |
k | Hour in day (1-24) | 24 | |
K | Hour in am/pm (0-11) | 0 | |
h | Hour in am/pm (1-12) | 12 | |
m | Minute in hour | 30 | |
s | Second in minute | 55 | |
S | Millisecond | 978 | |
z | Time zone | Pacific Standard Time; PST; GMT-08:00 | |
Z | Time zone | -0800 |
形如:SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
双引号中的字符串指定时间日期的格式,使用单引号 ' ' 可以避免被翻译,非保留的字符都不会被翻译,会被直接复制到输出字符串中 或 在解析过程中与输入字符串匹配。
Examples:
Date and Time Pattern | Result |
"yyyy.MM.dd G 'at' HH:mm:ss z" | 2001.07.04 AD at 12: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 |
----------------------------------------------------------------------------------------------------
附:
//String—>Date
String time = “2018-10-15”;
try{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(time);
}catch(ParseException e){
e.printStackTrace();
}
//Date—>String
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String str = sdf.format(date);