问题描述:
项目中需要计算两个日期之间相差的天数
JDK1.8自带的java.time--class LocalDate日期工具
由于日期格式的导致报错:
error:Text '20220930' could not be parsed at index 0
代码如下:
public class comDays {
public static void main(String[] args) {
String startDate = "20230101";//2023-01-01
String endDate = "20231231";//2023-12-31
LocalDate startTime = LocalDate.parse(startDate);
LocalDate endTme = LocalDate.parse(endDate);
long num = endTme.toEpochDay() - startTime.toEpochDay();
System.out.println(num);
}
}
原因:
JDK1.8版本LocalDate.parse()不支持“yyyyMMdd”的格式
解决方案:
使用DateTimeFormatter对象,对字符串先进行格式化;
String startDate = "20230101";
//DateTimeFormatter.ofPattern(需要格式化的参数类型)
LocalDate startTime = LocalDate.parse(startDate;DateTimeFormatter.ofPattern("yyyyMMdd"));