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");

      DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
      System.out.println(LocalDate.parse("2019-10-09").format(pattern));

// String --> LocalTime
        LocalTime localTime = LocalTime.parse("07:43:53");

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

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);
        
}
原文地址:https://www.cnblogs.com/MrRightZhao/p/12005137.html