参考:https://www.jianshu.com/p/826e73804989

总结:

1.Date类型若不格式化可读性很差
2.可使用SimpleDateFormat对时间进行格式化,但SimpleDateFormat是线程不安全的

Come On 一起使用java8全新的日期和时间API

LocalDate,LocalTime,LocalDateTime基本用法:

        LocalDateTime now = LocalDateTime.now();
        LocalDate nowDate = LocalDate.now();
        LocalTime nowTimw = LocalTime.now();
        // 任意设置时间
        LocalDateTime any = LocalDateTime.of(2020, Month.APRIL, 22, 22, 22);
        // 给某一日期增添天数
        LocalDate newDate = nowDate.plusDays(2);
        // 把一字符串类型提取为LocalDate和LocalDateTime类型
        LocalDate date = LocalDate.parse("20200308",DateTimeFormatter.BASIC_ISO_DATE);
        LocalDateTime localDateTime = LocalDateTime.parse("1999-12-31 23:59:59",DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        // 把LocalDate类型按所需格式转换为字符串
        String datetest = date.format(DateTimeFormatter.ISO_LOCAL_DATE);
        // 把LocalDateTime类型按所需格式转换为字符串
        String nowTest = now.format(DateTimeFormatter.ofPattern("YMd HH:mm:ss"));
        String string = localDateTime.format(DateTimeFormatter.BASIC_ISO_DATE);
        // 两种获取时间间隔的方法
        Period p = Period.between(LocalDate.of(2010, 1, 1), LocalDate.of(2020, 1, 1));
        Duration d = Duration.between(localDateTime, localDateTime.of(2020, 1, 1, 1, 1));