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

时间:2015-06-29 09:14:07

标签: java date jodatime

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

2 个答案:

答案 0 :(得分:5)

这里有一个纯粹的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

答案 1 :(得分:0)

您必须将其转换为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");