有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用JodaTime将java DateFormat从“yyyyymmdd”转换为“ddMM”

我有以下代码:

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) 个答案

  1. # 1 楼答案

    也许你需要的是print,而不是parse

    换句话说:

    String dateStr = dtf.print(weekMon);
    

    注意使用此代码:

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

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