Java的日期与时间
DateTimeFormatter类是Java 8中日期时间功能里,用于解析和格式化日期时间的类,位于java.time.format包下。
1.预定义的DateTimeFormatter实例
DateTimeFormatter类包含一系列预定义(常量)的实例,可以解析和格式化一些标准时间格式。这将让你免除麻烦的时间格式定义,类中包含如下预定义的实例:
1 BASIC_ISO_DATE 2 3 ISO_LOCAL_DATE 4 ISO_LOCAL_TIME 5 ISO_LOCAL_DATE_TIME 6 7 ISO_OFFSET_DATE 8 ISO_OFFSET_TIME 9 ISO_OFFSET_DATE_TIME 10 11 ISO_ZONED_DATE_TIME 12 13 ISO_INSTANT 14 15 ISO_DATE 16 ISO_TIME 17 ISO_DATE_TIME 18 19 ISO_ORDINAL_TIME 20 ISO_WEEK_DATE 21 22 RFC_1123_DATE_TIME
每个预定义的DateTimeFormatter实例都有不同的日期格式,我就不解释全部的了。具体的可以查阅Java官方文档,但我在这篇的后续中会解释其中几个,以方便理解。
2.格式化日期
当你获取一个DateTimeFormatter实例后,就可以用format()方便来将一个日期格式化为某种字符串,例如:
1 DateTimeFormatter formatter = DateTimeFormatter.BASIC_ISO_DATE; 2 String formattedDate = formatter.format(LocalDate.now()); 3 System.out.println(formattedDate);
这个样例把LocalDate对象格式化了,并输出20150703,这个输出表示现在2015年,7月3日。
再举一个关于ZonedDateTime的例子:
1 DateTimeFormatter formatter = DateTimeFormatter.BASIC_ISO_DATE; 2 String formattedZonedDate = formatter.format(ZonedDateTime.now()); 3 System.out.println("formattedZonedDate = " + formattedZonedDate);
这个例子会输出:20150703+0200
表示今年2015年,7月3日,位于UTC+2时区。
参考:http://blog.csdn.net/tjgykhulj/article/details/69053949