DateTimeFormatter 的操作与使用 -- 通俗易懂

Posted mrrightzhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DateTimeFormatter 的操作与使用 -- 通俗易懂相关的知识,希望对你有一定的参考价值。

在上一章我们讲解了LocalDate、LocalTime、LocalDateTime、Instant的操作与使用,下面讲解它们之间是如何进行格式化

DateTimeFormatter这个类它只提供了时间格式化的类型,就是按你指定的格式,或者按jdk默认的格式,需要进行调用的则是时间类本身来进行调用才能进行格式化

LocalDate、LocalTime 的api是有2个方法,分别是:parse()、format()方法,时间类型的转换可以调用这2个来进行日期时间类型的转换

E parse(CharSequence text)

E parse(CharSequence text, DateTimeFormatter formatter)

String format(DateTimeFormatter formatter)

1.字符串转换成日期时间类型

private static void testStringT0LocalDate() {
        // String --> LocalDate
        LocalDate localDate = LocalDate.parse("2019-12-07");
        
        // String --> LocalTime
        LocalTime localTime = LocalTime.parse("07:43:53");

        // String -->LocalDateTime
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
        LocalDateTime localDateTime = LocalDateTime.parse("2019-12-07 07:43:53",formatter);
        
        System.out.println(localDate);
        System.out.println(localTime);
        System.out.println(localDateTime);
}

2.日期时间类型转换成字符串

private static void testLocalDateToString() {
        //localDate --> String 
        LocalDate localDate = LocalDate.now();
        String format1 = localDate.format(DateTimeFormatter.BASIC_ISO_DATE);    //yyyyMMdd
        String format2 = localDate.format(DateTimeFormatter.ISO_DATE);            //yyyy-MM-dd
        
        
        //2.LocalTime  --> String
        LocalTime localTime = LocalTime.now();
        String format3 = localTime.format(DateTimeFormatter.ISO_TIME);            //20:19:22.42
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm:ss");
        String format4 = localTime.format(formatter);
        
        //3.LocalDateTime  --> String        
        LocalDateTime localDateTime = LocalDateTime.now();
        DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
        String format5 = localDateTime.format(formatter2);
        
        System.out.println(format1);
        System.out.println(format2);
        System.out.println(format3);
        System.out.println(format4);
        System.out.println(format5);
        
}

 

 

以上是关于DateTimeFormatter 的操作与使用 -- 通俗易懂的主要内容,如果未能解决你的问题,请参考以下文章

Java8- ZonedDateTime 与 DateTimeFormatter 无法识别格式

最全的时间类解析。 SimpleDateFormat + Date() 和 DateTimeFormatter + LocalDate()的区别与使用场景

最全的时间类解析。 SimpleDateFormat + Date() 和 DateTimeFormatter + LocalDate()的区别与使用场景

Java 8+ 中的 DateTimeFormatter.ISO_LOCAL_DATE 与 DateTimeFormatter.ofPattern("yyyy-MM-dd")

请别再使用 SimpleDateFormat 格式化时间了,DateTimeFormatter 更出色!

请别再使用 SimpleDateFormat 格式化时间了,DateTimeFormatter 更出色!