提问人:Terrible Tadpole 提问时间:10/18/2023 更新时间:10/18/2023 访问量:56
DateTimeParseException:无法在索引 2 [duplicate] 处解析文本“1-Aug-2018”
DateTimeParseException: Text '1-Aug-2018' could not be parsed at index 2 [duplicate]
问:
我需要以制表符分隔文件的形式处理数据,日期格式为 dd-MMM-yyyy,例如 2018 年 8 月 1 日或 2023 年 9 月 15 日。我的代码是:
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern ("d-MMM-uuuu");
private LocalDateTime toDate (String raw) {
LocalDateTime date = LocalDateTime.parse (raw, DATE_FORMATTER);
return date;
}
我的例外是:
线程“main”java.time.format.DateTimeParseException 中的异常:无法在索引 2 处解析文本“1-Aug-2018”
完成的研究:
- 仔细阅读 Oracle Java 文档
- 尝试过而不是,但这只是将索引移动到 0 而不是 2
dd
d
- 尝试而不是(出于绝望,问题显然不存在)
yyyy
uuuu
- 在互联网上搜索了一个小时,但我使用 DateTimeFormatter 的模式的几个示例(而不是 SimpleDate,没有人清理过 Internet 上的旧垃圾吗?!)使用它来格式化输出而不是解析输入。
- 又花了一个小时拖网 StackOverflow,对于过时的解决方案,这甚至比一般的互联网还要糟糕(尽管答案更专业),但所有答案似乎都涉及不同的模式,我看不出代码有任何差异
有什么建议吗?还是相关答案的指示?
答: 暂无答案
评论
Locale.getDefault()
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern ("dd-MMM-yyyy", Locale.ENGLISH);
LocalDateTime
LocalDate
LocalDateTime.of(2018, 8, 1, 0, 0, 0) .format(DATE_FORMATTER)
a
A