1、日期格式问题
在Java中,如果使用LocalDate.parse方法解析日期字符串时,它会自动进行日期的合法性检查,并在发现非法日期时进行自动调整。具体来说,如果输入的日期中的月份和日期超出了合法范围,例如11月31日,Java会自动将其调整为合法的日期,比如将11月31日调整为12月1日,然后再减去一个月,变为11月30日。
这种行为是由LocalDate.parse方法内部的逻辑决定的,它遵循了ISO 8601标准,该标准规定了日期的表示方法和合法范围。这种自动调整的行为可以确保得到的日期是合法的,但有时也可能会导致一些意外的结果。
当需要检查合法性,比如在导入之中需要校验日期合法性的话,需要注意
使用
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE;
LocalDate.parse(date,formatter)