为什么建议使用LocalDateTime,而不是Date?
参考: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));