SimpleDateFormat和DateTimeFormatter的区分

SimpleDateFormat和DateTimeFormatter的区分

package com.heima.homework;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;

//SimpleDateFormat和DateTimeFormatter的区分
public class T02 {
    public static void main(String[] args) throws ParseException {
      
  String s="2018-03-04";

        //1.用SimpleDateFormat有参构造创建一个对象simpleDateFormat
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        //2.调用simpleDateFormat的parse(String)方法,将String转化为date类型。完成解析
        Date parse = simpleDateFormat.parse(s);

        //1.用SimpleDateFormat有参构造创建一个对象simpleDateFormat
        SimpleDateFormat sa = new SimpleDateFormat("yyyy年MM月dd日");
        //2.调用simpleDateFormat的format(date)方法,将date类型转化为String类型,完成格式化
        String format1 = sa.format(parse);
        System.out.println(format1);//2018年03月04日
//************************************************************************************************
        //1.用DateTimeFormatter的ofPattern静态方法,底层是有新建对象的,所以该方法结果就是创造了一个对象
        // public static DateTimeFormatter ofPattern(String pattern) {
        //        return new DateTimeFormatterBuilder().appendPattern(pattern).toFormatter();
        //    }
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        //2.调用LocalDate(LocalDateTime/LocalTime)的parse(String,DateTimeFormatter)静态方法
        //将String类型转化为LocalDate(LocalDateTime/LocalTime)类型。完成解析
        LocalDate parse1 = LocalDate.parse(s, pattern);

        //1.用DateTimeFormatter的ofPattern静态方法,底层是有新建对象的,所以该方法结果就是创造了一个对象
        DateTimeFormatter pattern1 = DateTimeFormatter.ofPattern("yyyy年-MM月-dd日");
        //2.与simpleDateFormat不同的是,DateTimeFormatter对象没有format方法,用LocalDate的format(DateTimeFormatter)方法
        //,将LocalDate类型转化为String类型,完成格式化
        String format = parse1.format(pattern1);
        System.out.println(format);//2018年-03月-04日
    }
}

`
上一篇:Java 使用SimpleDateFormat和DateTimeFormatter格式化日期时间的方法及示例代码


下一篇:ISO8601标准的时间格式和普通时间格式之间的转换