如何比较创建为JodaTime LocalDate和LocalDateTime的两个日期?
LocalDate startDate = new LocalDate(2014,1,2); LocalDateTime startDateTime = new LocalDateTime(2014,1,2,14,0);
我需要比较startDate
和startDateTime
的日期,如下所示:
// boolean equalDates = startDate.isequal(startDateTime.getDate());
是否有可能做到这一点?
如果您只想比较日期部分,可以这样做:
LocalDate startDate = new LocalDate(2014, 1, 2); LocalDateTime startDateTime = new LocalDateTime(2014, 1, 2, 14, 0); LocalDate forCompare = startDateTime.toLocalDate(); System.out.println("equal dates: " + forCompare.equals(startDate)); // equal dates: true
文档
LocalDate startDate = new LocalDate(2014,1,2); LocalDateTime startDateTime = new LocalDateTime(2014,1,2,00,0); System.out.println(startDate.toDate()); System.out.println(startDateTime.toDate()); if(startDate.toDate().compareTo((startDateTime.toDate()))==0){ System.out.println("equal"); }
输出将是:
2014年1月2日00:00:00 IST 2014
2014年1月2日00:00:00 IST 2014
等于
如果你想检查一个日期是否在另一个时间框架之间,比如date1
4hrs在date2
之间,joda只有你可以使用的场景有不同的类:
Hours h = Hours.hoursBetween(date1, date2); Days s = Days.daysBetween(date1, date2); Months m = Months.monthsBetween(date1,date2);
http://joda-time.sourceforge.net/apidocs/org/joda/time/base/BaseSingleFieldPeriod.html