Java DateTimeFormatter
时间:2020-01-09 10:35:55 来源:igfitidea点击:
JavaDateTimeFormatter
类用于解析和格式化用Java 8日期时间API中的类表示的日期。 " DateTimeFormatter"位于" java.time.format"包中,因此完全限定的类名称为" java.time.format.DateTimeFormatter"。
预定义的DateTimeFormatter实例
" DateTimeFormatter"类包含一组预定义的(常量)实例,这些实例可以解析和格式化标准日期格式的日期。这样省去了为" DateTimeFormatter"定义日期格式的麻烦。 " DateTimeFormatter"类包含以下预定义实例:
BASIC_ISO_DATE ISO_LOCAL_DATE ISO_LOCAL_TIME ISO_LOCAL_DATE_TIME ISO_OFFSET_DATE ISO_OFFSET_TIME ISO_OFFSET_DATE_TIME ISO_ZONED_DATE_TIME ISO_INSTANT ISO_DATE ISO_TIME ISO_DATE_TIME ISO_ORDINAL_TIME ISO_WEEK_DATE RFC_1123_DATE_TIME
这些预定义的" DateTimeFormatter"实例中的每个实例均已预先配置为格式化日期,并从不同格式解析日期。我不会解释所有这些预定义的" DateTimeFormatter"实例。我们可以在JavaDoc中的" DateTimeFormatter"类中阅读有关它们的信息。但是,我将解释其中的一些内容,以便我们对它们的功能有所了解。
格式化日期
一旦有了DateTimeFormatter
的实例,就可以使用format()
方法格式化日期。这是一个DateTimeFormatter``format()
示例:
DateTimeFormatter formatter = DateTimeFormatter.BASIC_ISO_DATE; String formattedDate = formatter.format(LocalDate.now()); System.out.println(formattedDate);
这个例子格式化了一个LocalDate实例。该代码的示例输出可能是:
20140703
此输出表示2014年,第07个月(7月)和第03天(第三天)。
这是格式化ZonedDateTime
实例的示例:
DateTimeFormatter formatter = DateTimeFormatter.BASIC_ISO_DATE; String formattedZonedDate = formatter.format(ZonedDateTime.now()); System.out.println("formattedZonedDate = " + formattedZonedDate);
该示例的输出如下所示:
20140703+0200
此输出表示UTC + 2时区中的2014年,第7个月(7月)和第3天(第三天)。