Pergunta

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?

Foi útil?

Solução

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

Outras dicas

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top