JDK 1.8 完整日期时间Api (文末附示例) (3)

DateTimeFormatter默认提供了多种格式化方式,如果默认提供的不能满足要求,可以通过DateTimeFormatter的ofPattern方法创建自定义格式化方式。

public static void format() { LocalDate today = LocalDate.now(); // 两种默认格式化时间方式 String todayStr1 = today.format(DateTimeFormatter.BASIC_ISO_DATE); String todayStr2 = today.format(DateTimeFormatter.ISO_LOCAL_DATE); System.out.println("格式化时间:" + todayStr1); System.out.println("格式化时间:" + todayStr2); //自定义格式化 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); String todayStr3 = today.format(dateTimeFormatter); System.out.println("自定义格式化时间:" + todayStr3); } 4.2 解析时间

4.1 中以何种方式格式化,这里需以同样方式解析。

public static void parse() { LocalDate date1 = LocalDate.parse("20080808", DateTimeFormatter.BASIC_ISO_DATE); LocalDate date2 = LocalDate.parse("2008-08-08", DateTimeFormatter.ISO_LOCAL_DATE); System.out.println(date1); System.out.println(date2); } 五、总结

相较于Date 的优势

Instant 的精确度更高,可以精确到纳秒级;

Duration 可以便捷得到时间段内的天数、小时数等;

LocalDateTime 能够快速地获取年、月、日、下一月等;

TemporalAdjusters 类中包含许多常用的静态方法,避免自己编写工具类;

与Date的格式化方式SimpleDateFormat相比,DateTimeFormatter是线程安全的。

5.1 示例代码

Github 示例代码

5.2 技术交流

风尘博客

风尘博客-掘金

风尘博客-博客园

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyfwyp.html