1.问题描述
2.原因分析
日期格式化方式有问题,LocalDate 只能有年月日,格式化日期不能有时分秒,否则会报错
示例
@Test
public void test05(){
Date date = new Date();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 不能有 HH:mm:ss
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); // Date 转 LocalDate
System.out.println("localDate\t" + dtf.format(localDate));
}
3.解决方案
使用正确的日期格式化方式
示例
@Test
public void test05(){
Date date = new Date();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 去掉 HH:mm:ss
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); // Date 转 LocalDate
System.out.println("localDate\t" + dtf.format(localDate));
}