Как я могу определить, ли дата между двумя датами в Java? [дубликат]

Вы можете установить три вида кнопок с alertDialog

.setPositiveButton("name_of_button",LISTENER);

.setNegativeButton("name_of_button",LISTENER);

.setNeutralButton("name_of_button",LISTENER);

Слушатель может быть вне класса или анонимного класса, как

.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            alertDialog.cancel();
        }
    });
88
задан Eric Wilson 21 November 2011 в 16:07
поделиться

7 ответов

Если вы не знаете порядок минимальных / максимальных значений

Date a, b;   // assume these are set to something
Date d;      // the date in question

return a.compareTo(d) * d.compareTo(b) > 0;

Если вы хотите, чтобы диапазон был инклюзивным

return a.compareTo(d) * d.compareTo(b) >= 0;
116
ответ дан 24 November 2019 в 07:22
поделиться

Другой вариант

min.getTime() <= d.getTime() && d.getTime() <= max.getTime()
8
ответ дан 24 November 2019 в 07:22
поделиться

Вы можете взглянуть на Joda Time , который является действительно хорошим API для работы с дата / время. Даже если он вам не нужен для решения вашего текущего вопроса, он обязательно избавит вас от боли в будущем.

2
ответ дан 24 November 2019 в 07:22
поделиться

вы можете использовать getTime () и сравнить возвращенные длинные значения UTC.

ИЗМЕНИТЬ, если вы уверены, что вам не придется иметь дело с датами до 1970 года, не уверен, как он будет себя вести в таком случае.

2
ответ дан 24 November 2019 в 07:22
поделиться

Это может быть немного более читаемым:

Date min, max;   // assume these are set to something
Date d;          // the date in question

return d.after(min) && d.before(max);
241
ответ дан 24 November 2019 в 07:22
поделиться

Примерно так:

Date min, max;   // assume these are set to something
Date d;          // the date in question

return d.compareTo(min) >= 0 && d.compareTo(max) <= 0;

Вы можете использовать > вместо > = и < вместо < = , чтобы исключить конечные точки из значения "между".

39
ответ дан 24 November 2019 в 07:22
поделиться
import java.util.Date;

public class IsDateBetween {

public static void main (String[] args) {

          IsDateBetween idb=new IsDateBetween("12/05/2010"); // passing your Date
 }
 public IsDateBetween(String dd) {

       long  from=Date.parse("01/01/2000");  // From some date

       long to=Date.parse("12/12/2010");     // To Some Date

       long check=Date.parse(dd);

       int x=0;

      if((check-from)>0 && (to-check)>0)
      {
             x=1;
      }

 System.out.println ("From Date is greater Than  ToDate : "+x);
}   

}
2
ответ дан 24 November 2019 в 07:22
поделиться
Другие вопросы по тегам:

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