使用Joda-Time从“yyyy-MM-dd”到“dd-MM”的日期格式

时间:2015-02-02 14:29:53

标签: java date datetime jodatime

我有以下代码:

DateTimeFormatter dtf = DateTimeFormat.forPattern("dd/MM");
LocalDate weekMon = new LocalDate().withWeekOfWeekyear(thisWeek).withDayOfWeek(DateTimeConstants.MONDAY);
System.out.println(weekMon.toString());
LocalDate weekFin = dtf.parseLocalDate(weekMon.toString());

并且输出正确打印日期:2015-02-02。我正在尝试将其转换为欧洲格式并忽略年份为“dd-MM” - > “02-02”但行:

LocalDate weekFin = dtf.parseLocalDate(weekMon.toString());

继续抛出以下异常:

java.lang.IllegalArgumentException: Invalid format: "2015-02-02" is malformed at "5-02-02"

在这种情况下,形成有什么问题?

1 个答案:

答案 0 :(得分:1)

您可能需要的是print,而不是parse

换句话说:

String dateStr = dtf.print(weekMon);

注意使用此代码:

LocalDate weekFin = dtf.parseLocalDate(weekMon.toString());

您正尝试使用接受"yyyy-MM-dd"格式字符串的格式化程序以"dd/MM"格式解析字符串。因此例外......