在Android中检查输入时间是否在两个时间范围之间
作者:互联网
你好朋友,我从时间选择器对话框中设置时间,所以我想检查此时间是否在特定范围内的时间之间.
我的时间范围是上午11:30至下午10:00
所以我想检查我的输入时间是否在11:30 am到10:00 pm之间.
我的代码如下.
Calendar mCalendarOpeningTime;
Calendar mCalendarClosingTime;
Calendar finalTime;
int hour,min;
private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int selectedHour,
int selectedMinute) {
hour = selectedHour;
min = selectedMinute;
finalTime = Calendar.getInstance();
finalTime.set(Calendar.HOUR_OF_DAY, selectedHour);
finalTime.set(Calendar.MINUTE, selectedMinute);
mStringGetTime = String.valueOf(DateFormat.format("h:mm aa",finalTime));
}
};
我将打开时间和关闭时间值设置如下
mCalendarOpeningTime.set(11,30);
mCalendarClosingTime.set(10,00);
在我的提交按钮中,单击“我设置以下代码”
if(finalTime.after(mCalendarOpeningTime) && finalTime.before(mCalendarClosingTime))
{
System.out.println("Your time is in range");
}
else
{
System.out.println("Your time is not in range");
}
所以当我每次提交它打印消息时,因为您的时间不在范围内,我不知道该如何解决?
解决方法:
为什么不将日历实例用于mCalendarOpeningTime和mCalendarClosingTime,您为什么不将它们用作Date实例?这样会更有效率,并且还可以使您的代码正常运行.
编辑:-好的..忘记上面写的是什么..那是胡扯..:P之后的那段代码将完成您想要实现的目标:-
首先,设置如下的mCalendarOpeningTime和mCalendarClosingTime,并在onCreate()或onStart()中调用此方法,以便在开始使用它们之前将值分配给相应的“时间”:
private void setOpeningAndClosingTimes() {
mCalendarOpeningTime = Calendar.getInstance();
mCalendarOpeningTime.set(Calendar.HOUR, 11);
mCalendarOpeningTime.set(Calendar.MINUTE, 30);
mCalendarClosingTime.set(Calendar.AM_PM, Calendar.AM);
mCalendarClosingTime = Calendar.getInstance();
mCalendarClosingTime.set(Calendar.HOUR, 10);
mCalendarClosingTime.set(Calendar.MINUTE, 00);
mCalendarClosingTime.set(Calendar.AM_PM, Calendar.PM);
}
您的比较足够好..尝试一下,让我知道它是否有效…
标签:timepicker,android 来源: https://codeday.me/bug/20191030/1965608.html