gpt4 book ai didi

java - JodaTime 如何正确解析 dd-MM YYyy 到 DateTime

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:15:03 24 4
gpt4 key购买 nike

代码片段:

DateTimeFormatter dtf = new DateTimeFormatterBuilder()
.appendDayOfMonth(2)
.appendLiteral('-')
.appendMonthOfYearShortText()
.appendLiteral('-')
.appendTwoDigitYear(2050) // pivot point for correct interpretation of last two digits of year.
.toFormatter();

String strDate = "04-Feb-12";
DateTime updateDate = dtf.parseLocalDate(strDate).toDateTimeAtStartOfDay();

输出:

java.lang.IllegalArgumentException: Invalid format: "04-Feb-12" is malformed at "Feb-12"
at org.joda.time.format.DateTimeFormatter.parseLocalDateTime(DateTimeFormatter.java:821)
at org.joda.time.format.DateTimeFormatter.parseLocalDate(DateTimeFormatter.java:765)
...

我也试过:

DateTimeFormatter dtf = DateTimeFormat.forPattern("dd-MMMM-yy");

不过没办法。

提前致谢。

最佳答案

您遇到了语言环境问题。您发布的代码在我的机器上运行良好。但是,如果我将区域设置更改为 Locale.FRENCH,我可以重现您收到的确切错误。

将您的构建器更改为:

DateTimeFormatter dtf = new DateTimeFormatterBuilder()
.appendDayOfMonth(2)
.appendLiteral('-')
.appendMonthOfYearShortText()
.appendLiteral('-')
.appendTwoDigitYear(2050)
.toFormatter().withLocale(Locale.US);

关于java - JodaTime 如何正确解析 dd-MM YYyy 到 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9143855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com