在 Joda-Time 中用月份名称解析日期

Parse date with month name in Joda-Time

我必须在 Joda Time 中解析这个确切的字符串:"june 15 2015" 并将其与另一个格式相同的日期:"september 15 2015" 进行比较。 我怎样才能做到这一点?我无法使用该日期语法。

您必须将其转换为 Timestamp,使用类似这样的东西

 //date1 : your first date
 //date2 : your second date
 //sdf : date format 

        java.util.Date utilDate1 = new java.util.Date(date1);
        java.util.Date utilDate1 = new java.util.Date(date2);

        java.sql.Timestamp ts1 = new java.sql.Timestamp(utilDate1.getTime());  
        java.sql.Timestamp ts2 = new java.sql.Timestamp(utilDate2.getTime());  

        SimpleDateFormat sdf = new SimpleDateFormat("MM.dd.yyyy");

        if(sdf.format(ts1)>sdf.format(ts2))
            System.out.println("date1 > date2");
        else
          System.out.println("date1 < date2");

这里是一个纯粹的 Joda 答案:

DateTimeFormatter dtf =
    DateTimeFormat.forPattern("MMMM dd yyyy").withLocale(Locale.ENGLISH);
LocalDate d1 = dtf.parseLocalDate("june 15 2015");
LocalDate d2 = dtf.parseLocalDate("september 15 2015");
System.out.println(d1.isBefore(d2)); // true