我有一个类似于以下内容的日期字符串:


  “ 2014-04-10T00:00:00.000”


所以我需要将其转换为Joda-Time DateTime对象。

这是我的代码:

String datePattern = "yyyy-MM-dd'T'HH:mm:ss.SSS";
DateTimeFormatter dateFormatter = DateTimeFormat.forPattern(datePattern);

currentCard.setStartDate("2014-04-10T00:00:00.000");
currentCard.setEndDate("2015-04-10T00:00:00.000");

DateTime startDateTime = dateFormatter.parseDateTime(currentCard.getStartDate());
DateTime endDateTime = dateFormatter.parseDateTime(currentCard.getEndDate());

if (startDateTime.isBeforeNow() && endDateTime.isAfterNow()) {
    currentCard.setActive(true);
} else {
    currentCard.setActive(false);
}


它告诉我string is too short

最佳答案

我相信日期模式的正确语法是"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。这样,Z就会被字面地使用。

关于java - 将日期字符串转换为Joda-Time中的datetime对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23494200/

10-11 05:43