我在尝试在以下代码中传递日期 2024-12 时收到此错误:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM");
LocalDate expiration = LocalDate.parse(exp, formatter);
java.time.format.DateTimeParseException:无法解析文本“2024-12”:无法从 TemporalAccessor 获取 LocalDateTime:{Year=2024,MonthOfYear=12},类型为 java.time.format.Parsed 的 ISO
我什至尝试使用 yyyy-MM 格式,但仍然遇到相同的错误
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
LocalDate expiration = LocalDate.parse(exp, formatter);
LocalDate
您的输入
2024-12
代表年份和月份。相反,LocalDate
代表年、月、日。因此,您的输入缺乏足够的信息来构造 LocalDate
对象。
YearMonth
Java 8+ 提供了
YearMonth
类来表示一年和一个月。
YearMonth ym = YearMonth.parse( "2024-12" ) ;