推荐理由
1.Data.toString的时候可读性差。
2.SimpleDateFormat是线程不安全的,因此,必须每个线程单独新建属于自己的该对象。
看看LocalDate用法
//获取当前年月日
LocalDate localDate = LocalDate.now();
//构造特定的年月日
localDate = LocalDate.of(2019, 11, 19);
通过getXXX方法来获取年、月、日等信息,例如:
localDate.getYear();
localDate.get(ChronoField.YEAR);
localDate.getMonth();
localDate.get(ChronoField.MONTH_OF_YEAR);
localDate.getDayOfMonth();
localDate.get(ChronoField.DAY_OF_MONTH);
localDate.getDayOfWeek();
localDate.get(ChronoField.DAY_OF_WEEK);
看看LocalTime用法
大致跟LocalDate差不多,如何构造、如何通过getXXX方法获取信息:
LocalTime localTime = LocalTime.of(14, 00, 10);
localTime = LocalTime.now();
localTime.getHour();
localTime.get(ChronoField.HOUR_OF_DAY);
localTime.getMinute();
localTime.get(ChronoField.MINUTE_OF_HOUR);
localTime.getSecond();
localTime.get(ChronoField.SECOND_OF_MINUTE);
看看LocalDateTime 用法
大致跟LocalDate差不多,如何构造、如何通过getXXX方法获取信息:
LocalDateTime localDateTime = LocalDateTime.now();
localDateTime = LocalDateTime.of(2018, Month.SEPTEMBER, 15, 15, 40, 36);
localDateTime = LocalDateTime.of(localDate, localTime);
localDateTime = localDate.atTime(localTime);
localDateTime = localTime.atDate(localDate);
LocalDate localDate = localDateTime.toLocalDate();
LocalTime localTime = localDateTime.toLocalTime();
//增加一年
localDateTime.plusYears(1);
localDateTime.plus(1, ChronoUnit.YEARS);
//减少一个月
localDateTime.minusMonths(1);
localDateTime.minus(1, ChronoUnit.MONTHS);
//修改年为2018
localDateTime = localDateTime.withYear(2018);
//修改为2000
localDateTime = localDateTime.with(ChronoField.YEAR, 2000);
如何格式化????
LocalDate localDate = LocalDate.of(2000, 8, 10);
localDate.format(DateTimeFormatter.BASIC_ISO_DATE);
localDate.format(DateTimeFormatter.ISO_LOCAL_DATE);
//自定义格式化
DateTimeFormatter dateTimeFormatter
= DateTimeFormatter.ofPattern("yyyy-MM-dd");
localDate.format(dateTimeFormatter);