Вы можете установить три вида кнопок с 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();
}
});
Если вы не знаете порядок минимальных / максимальных значений
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;
Другой вариант
min.getTime() <= d.getTime() && d.getTime() <= max.getTime()
Вы можете взглянуть на Joda Time , который является действительно хорошим API для работы с дата / время. Даже если он вам не нужен для решения вашего текущего вопроса, он обязательно избавит вас от боли в будущем.
вы можете использовать getTime ()
и сравнить возвращенные длинные значения UTC.
ИЗМЕНИТЬ, если вы уверены, что вам не придется иметь дело с датами до 1970 года, не уверен, как он будет себя вести в таком случае.
Это может быть немного более читаемым:
Date min, max; // assume these are set to something
Date d; // the date in question
return d.after(min) && d.before(max);
Примерно так:
Date min, max; // assume these are set to something
Date d; // the date in question
return d.compareTo(min) >= 0 && d.compareTo(max) <= 0;
Вы можете использовать >
вместо > =
и <
вместо < =
, чтобы исключить конечные точки из значения "между".
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);
}
}