有些时候,要判断当前时间是否在一个时间范围内,比如时间范围是(08:00--20:00),在这个范围内是营业时间,如果不在则说明打烊了.下面是代码.
String businessTime="08:00--20:00";
String []strs=businessTime.split("--");
String []strs1=strs[0].split(":");
String []strs2=strs[1].split(":");
Calendar currentDate = Calendar.getInstance();
currentDate.setTime(new Date());
Calendar min=Calendar.getInstance();
//min=currentDate;
min.set(Calendar.YEAR, currentDate.get(Calendar.YEAR));
min.set(Calendar.MONTH, currentDate.get(Calendar.MONTH));
min.set(Calendar.HOUR_OF_DAY, Integer.parseInt(strs1[0]));
min.set(Calendar.MINUTE, Integer.parseInt(strs1[1]));
min.set(Calendar.SECOND, 0);
min.set(Calendar.MILLISECOND, 0);
Calendar max=Calendar.getInstance();
// max=currentDate;
max.set(Calendar.YEAR, currentDate.get(Calendar.YEAR));
max.set(Calendar.MONTH, currentDate.get(Calendar.MONTH));
max.set(Calendar.HOUR_OF_DAY,Integer.parseInt(strs2[0]));
max.set(Calendar.MINUTE, Integer.parseInt(strs2[1]));
min.set(Calendar.SECOND, 0);
min.set(Calendar.MILLISECOND, 0);
//营业中
if(currentDate.getTimeInMillis()>=min.getTimeInMillis() && currentDate.getTimeInMillis()<=max.getTimeInMillis()){
System.out.println("营业中");
}else{//打烊
System.out.println("打烊了");
}