将字符串转换为joda datetime卡住了

时间:2014-03-10 19:51:41

标签: java jodatime datetime-format

我正在尝试将此字符串:2014-01-01 00:00:00转换为Joda DateTime

我尝试了以下内容:

public static DateTime SimpleIso8601StringToDateTime(String date) {
    DateTimeFormatter df = DateTimeFormat.forPattern(CONSTS_APP_GENERAL.SIMPLE_DATE_FORMAT);
    return df.parseDateTime(date);
}

还有以下内容:

public static DateTime SimpleIso8601StringToDateTime(String date) {
    DateTime dtDate = DateTime.parse(date, DateTimeFormat.forPattern(CONSTS_APP_GENERAL.SIMPLE_DATE_FORMAT));
    return dtDate;
}

哪里

public static final String SIMPLE_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";

然而,使用调试器我进入格式化行,然后在尝试处理它时,程序游标永远不会回来。

我应该提一下这是一个Android项目。

任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:1)

这是因为2014-01-01 00:00:00与模式yyyy-MM-dd HH:mm:ss.SSS不匹配 - 输入中的秒数没有小数部分。

结果是引发了未处理的异常 - 我不熟悉Android如何处理这些异常,除非你set a handler,否则线程可能会死掉。但是将parse()调用放在try块中可以让你恢复。