你好朋友,我从时间选择器对话框中设置时间,所以我想检查此时间是否在特定范围内的时间之间。
我的时间范围是上午11:30至下午10:00
因此,我想检查我的输入时间是否在上午11:30到下午10:00之间。
我的代码如下。
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");
}
所以当我每次提交它打印消息时,因为您的时间不在范围内,我不知道该如何解决?
而不是Calendar
为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);
}
您的比较足够好..尝试一下,让我知道它是否有效...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句