Joda DateTimeFormat说无效格式

时间:2014-08-04 23:11:37

标签: java jodatime

我有一个日期字符串和一个日期模式,我想将其解析为LocalDateTime。我的代码在尝试解析Julian日时失败了。

我正在构建一个自定义文件解析器,所以我需要以编程方式创建日期String。 如果我创建一个字符串文字final String parseDate = "1421521";,它可以正常工作,但如果我创建一个字符串并将其传递给formatter.parseLocalDateTime(dateResult),我会得到一个IllegalArgumentException: Invalid format: "1421522" is malformed at "21522"

总之,

String testDate = "1421522";
DateTimeFormatter formatter = DateTimeFormat.forPattern(datePattern);
LocalDateTime dt = formatter.parseLocalDateTime(testDate);

有效,

DateTimeFormatter formatter = DateTimeFormat.forPattern(datePattern);
LocalDateTime dt = formatter.parseLocalDateTime(dateResult);

失败。

我的datePattern是yyDDDHH

1 个答案:

答案 0 :(得分:0)

当我运行以下内容时,

String dateResult = "14" + "215" + "22";
String datePattern = "yyDDDHH";
DateTimeFormatter formatter = DateTimeFormat.forPattern(datePattern);
LocalDateTime dt = formatter.parseLocalDateTime(dateResult);
System.out.println(dt);

输出

2014-08-03T22:00:00.000

如果您的问题仍未解决,请发布复制问题的代码。