在 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
我必须在 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