Как сравнить даты в Java? [дубликат]

368
задан flotothemoon 20 July 2014 в 23:10
поделиться

4 ответа

Дата имеет до и после методов и может быть сравнена друг с другом следующим образом:

if(todayDate.after(historyDate) && todayDate.before(futureDate)) {
    // In between
}

Для всеобъемлющего сравнения:

if(!historyDate.after(todayDate) && !futureDate.before(todayDate)) {
    /* historyDate <= todayDate <= futureDate */ 
}

Вы также можете попробовать Joda-Time , но обратите внимание, что:

Joda-Time - это де-факто стандартная библиотека даты и времени для Java до Java SE 8. Теперь пользователям предлагается перейти на java.time ( JSR-310 ).

Back-порты доступны для Java 6 и 7, а также для Android.

569
ответ дан 23 November 2019 в 00:06
поделиться

Сравните две даты:

  Date today = new Date();                   
  Date myDate = new Date(today.getYear(),today.getMonth()-1,today.getDay());
  System.out.println("My Date is"+myDate);    
  System.out.println("Today Date is"+today);
  if (today.compareTo(myDate)<0)
      System.out.println("Today Date is Lesser than my Date");
  else if (today.compareTo(myDate)>0)
      System.out.println("Today Date is Greater than my date"); 
  else
      System.out.println("Both Dates are equal"); 
20
ответ дан 23 November 2019 в 00:06
поделиться

Используйте compareTo :

date1.compareTo (date2);

125
ответ дан 23 November 2019 в 00:06
поделиться

Используйте getTime (), чтобы получить числовое значение даты, а затем сравните, используя возвращенные значения.

4
ответ дан 23 November 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: