我的日期格式如下:
四位数的年份,然后是两位数的周数。
例如,2018 年的第四周将是201804。
我无法使用 Java 8 的LocalDate和DateTimeFormatterBuilder解析这些日期。
这是我尝试解析日期的方法:
LocalDate.parse(
"201804",
new DateTimeFormatterBuilder().appendPattern("YYYYww").parseDefaulting(WeekFields.ISO.dayOfWeek(), 1).toFormatter()
);
执行引发以下异常:
java.time.format.DateTimeParseException:无法在索引 0 处解析文本“201804”
奇怪的行为是,当我在日期部分之间添加分隔符时,不再抛出异常:
LocalDate.parse(
"2018 04",
new DateTimeFormatterBuilder().appendPattern("YYYY ww").parseDefaulting(WeekFields.ISO.dayOfWeek(), 1).toFormatter()
);
结果是 :
2018-01-22
格式化程序有什么我缺少的吗?
有只小跳蛙
隔江千里
心有法竹
相关分类