Joda time踩坑-new DateTime格式化问题
今天遇到这样一个代码:
1 | new DateTime("20231013").plusDays(1).toString("yyyy-MM-dd") |
输出是什么?
预期输出:2023-10-14,实际输出:
不对,输出样式完全对不上。
换一种写法。
1 | new DateTime("2023-10-13").plusDays(1).toString("yyyy-MM-dd") |
这样就对了。
好像有点看出来了。第一个-前面的值当做年处理。
做个测试
1 | new DateTime("20231013-10-13").plusDays(1).toString("yyyy-MM-dd") |
可以确定,new DateTime 的入参是有个格式要求的。
全景:
1 | <em>log</em>.info( new DateTime("20231013").plusDays(1).toString("yyyy-MM-dd")); |
后记
new DateTime 没有格式化入参的构造方法,使用时要注意格式化失败的问题。