【发布时间】:2017-08-16 03:24:25
【问题描述】:
我必须使用以下格式解析日期:“201710”其中 10 - 一年中的第几周。我尝试以这种方式实现它:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyw");
java.time.LocalDate startDate = java.time.LocalDate.parse("201710", formatter);
System.out.println(startDate);
但它会抛出异常:
java.time.format.DateTimeParseException: Text '201710' could not be parsed at index 0
然后我需要从 LocalDate 对象获取一周的第一天和最后一天。 例如“201710” - 05.03 12.03(一周的第一天必须是星期日)。
【问题讨论】:
-
您的代码和您的异常不匹配。代码显示“201710”,但异常显示“2017101”。也许是错字?
-
只是错字,异常是 java.time.format.DateTimeParseException: Text '201710' could not be parsed at index 0 我看到“yyyyw”格式不支持。有什么问题?
-
新的
java.time类似乎和旧的一样用户友好。 -
@Kayaman,请帮忙设计模式。
-
@Kayaman,感谢您指出另一个问题。当年和周之间有空格时,那里的答案解决了这个问题,而不是当年和周是一串 6 位数字,没有什么可分开的。
标签: java datetime-format localdate