How to compare two dates created as JodaTime LocalDate and LocalDateTime?

StackOverflow https://stackoverflow.com/questions/22376022

  •  14-06-2023
  •  | 
  •  

Вопрос

LocalDate startDate = new LocalDate(2014,1,2);

LocalDateTime startDateTime = new LocalDateTime(2014,1,2,14,0);

I need to compare startDate and startDateTime with respect to the date, something like this:

// boolean equalDates = startDate.isequal(startDateTime.getDate());

Is it possible to do this?

Это было полезно?

Решение

If you just want to compare the date part, you can do it like so:

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

docs

Другие советы

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");       
}

the output will be:

Thu Jan 02 00:00:00 IST 2014

Thu Jan 02 00:00:00 IST 2014

equal

If you want to check if say one date is in between another time frame, say is date1 4hrs in between date2, joda has different classes just for those scenarios you can use:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top