解析系统日志消息的宽松日期

时间:2014-05-05 18:04:41

标签: java jodatime

我正在尝试从syslog条目中解析以下日期:May 5 18:44:44。请注意,在' May'之后有 2 个空格:一个作为分隔符,另一个从月份的日期省略为零。

以下代码以java.lang.IllegalArgumentException: Invalid format: "May 5 18:44:44" is malformed at " 5 18:44:44"

失败
String input = "May  5 18:44:44";
DateTimeFormatter formatter = DateTimeFormat.forPattern("MMM d HH:mm:ss")
    .withLocale(Locale.US);
DateTime dt = formatter.parseDateTime(input);

显然解析器没有第二个空格。它也适用于我"手动"删除第二个空格。

有没有人知道如何使用joda time或标准java DateFormat来解决这个问题?

1 个答案:

答案 0 :(得分:1)

您是否愿意先运行's/\s+/ '

相关问题