创建时本地日期无效
Invalid localdate when it created
和java8
我想用这行代码得到 2016 年 3 月 31 日
System.out.println(LocalDate.now().withDayOfMonth(31).withMonth(3).withYear(2016));
我明白了
线程 "main" java.time.DateTimeException 中的异常:无效日期 'APRIL 31'
正如评论所说,在 2016 年 4 月有 运行 这个日期,您试图将日期更改为 31,这在当前的 4 月份不存在。所以在设置日期之前将月份更改为三月。
更好的是,使用静态 of
方法。
LocalDate localDate = LocalDate.of( 2016 , 3 , 31 );
或使用 enum constant Month.MARCH
.
LocalDate localDate = LocalDate.of( 2016 , Month.MARCH , 31 );
和java8
我想用这行代码得到 2016 年 3 月 31 日
System.out.println(LocalDate.now().withDayOfMonth(31).withMonth(3).withYear(2016));
我明白了 线程 "main" java.time.DateTimeException 中的异常:无效日期 'APRIL 31'
正如评论所说,在 2016 年 4 月有 运行 这个日期,您试图将日期更改为 31,这在当前的 4 月份不存在。所以在设置日期之前将月份更改为三月。
更好的是,使用静态 of
方法。
LocalDate localDate = LocalDate.of( 2016 , 3 , 31 );
或使用 enum constant Month.MARCH
.
LocalDate localDate = LocalDate.of( 2016 , Month.MARCH , 31 );