如何在 Joda Time 中解析没有年份的日期时间字符串?

How to parse a datetime string without a year in Joda Time?

我需要将字符串转换为 Joda Time DateTime 值。字符串表示包含日、月、小时和分钟,但没有年份。

我该怎么做?

我尝试了类似 DateTimeFormat.forPattern("dd.MM HH:mm").parseDateTime("26.03 02:50") 的方法,但出现以下异常:

org.joda.time.IllegalInstantException: Cannot parse "26.03 02:50": Illegal instant due to time zone offset transition (Europe/Moscow)
    at org.joda.time.format.DateTimeParserBucket.computeMillis(DateTimeParserBucket.java:471)
    at org.joda.time.format.DateTimeParserBucket.computeMillis(DateTimeParserBucket.java:440)
    at org.joda.time.format.DateTimeParserBucket.computeMillis(DateTimeParserBucket.java:411)
    at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:882)

您已经接近它了...例如使用 parseLocalDateTime 函数:

DateTimeFormat.forPattern("dd.MM HH:mm").parseLocalDateTime("26.03 02:50");

但请注意,此解决方案会忽略任何可能给定的时区信息。