Symbol Meaning Presentation Example G era designator (Text) AD y year (Number) 1996 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 fractional second (Number) 978 E day of 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 Z time zone (RFC 822) (Number) -0800 v time zone (generic) (Text) Pacific Time V time zone (location) (Text) United States (Los Angeles) ' escape for text (Delimiter) 'Date=' '' single quote (Literal) 'o''clock'
接下来,我们再看下面这段话The count of pattern letters determines the format:
(Text): 4 or more pattern letters → use the full form, less than 4 pattern letters → use a short or abbreviated form if one exists.
(Number): the minimum number of digits. Shorter numbers are zero-padded to this amount. Year is handled specially; that is, if the count of 'y' is 2, the year will be truncated to 2 digits. (if "yyyy" produces "1997", "yy" produces "97".) Unlike other fields, fractional seconds are padded on the right with zero.
(Text & Number): 3 or over, use text, otherwise use number.Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '@' will appear in the resulting time text even they are not embraced within single quotes.
A pattern containing any invalid pattern letter will result in an exception thrown during formatting or parsing.
什么意思,总结起来很简单,就是y代表年,yy代表96年格式,yyyy代表1996年格式。我们用文档中的例子来看,Format Pattern Result -------------- ------- "yyyy.MM.dd G 'at' HH:mm:ss vvvv" → 1996.07.10 AD at 15:08:56 Pacific Time "EEE, MMM d, ''yy" → Wed, July 10, '96 "h:mm a" → 12:08 PM "hh 'o''clock' a, zzzz" → 12 o'clock PM, Pacific Daylight Time "K:mm a, vvv" → 0:00 PM, PT "yyyyy.MMMMM.dd GGG hh:mm aaa" → 01996.July.10 AD 12:08 PM
/**
* 默认格式输出
*/
SimpleDateFormat f = new SimpleDateFormat();
String format = f.format(new Date());
Log.i("默认格式", format);
/**
* yyyy-MM-dd HH:mm
*/
SimpleDateFormat f2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String format2 = f2.format(new Date());
Log.i("yyyy-MM-dd HH:mm", format2);
/**
* yyyy年MM月dd日 HH时mm分ss秒
*/
SimpleDateFormat f3 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String format3 = f3.format(new Date());
Log.i("yyyy年MM月dd日 HH时mm分ss秒", format3);
/**
* yyyy年MM月dd日 HH时mm分ss秒转成Date形式
*/
SimpleDateFormat f4 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
try {
Date date = f4.parse(format3);
Log.i("yyyy年MM月dd日 HH时mm分ss秒转成Date", date.toString());
} catch (ParseException e) {
e.printStackTrace();
}