java.text.SimpleDateFormat
SimpleDateFormat类的2种常用的构造方法:
-
1.SimpleDateFormat() 无参构造, 用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
2.SimpleDateFormat(String pattern) ,用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
- 有2种常用的方法
1.public final String format(Date date) ,格式化一个日期对象,生成一个字符串
2.public Date parse(String source) ,解析一个字符串,生成一个日期对象
SimpleDateFormat 默认的格式:
@Test
public void DefaultPattern() {
SimpleDateFormat sdf = new SimpleDateFormat();
System.out.println(sdf.format(new Date()));
}
打印出来的结果是15-8-14 下午1:42 ,所以默认格式是这种格式。
还有一种常用的格式:yyyy-MM-dd HH:mm:ss ,如下:
@Test
public void testFormat1() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(new Date()));
}
打印出来的结果是2015-08-14 13:45:09 ,是yyyy-MM-dd HH:mm:ss格式。
使用SimpleDateFormat对象的parse()时,传入的字符串的格式一定要匹配SimpleDateFormat对象的格式(创建此对象是传入的格式,如果没有,则是默认格式),否则会报格式转换异常。
@Test
public void testParse1() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.parse("2015-08-14 13:45:09"));
}
本次使用parse()方法时,传入的字符串的格式匹配生成SimpleDateFormat对象时的格式,打印出的结果是Fri Aug 14 13:45:09 CST 2015 ,即相当于system.oou.print(new Date()); 打印出来的结果。
如果不匹配,
@Test
public void testParse1() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out
.println(sdf.parse(new SimpleDateFormat().format(new Date())));
}
结果抛出java.text.ParseException。