在允许时间范围内可以调用这个接口,这个时间段是用户手动配置的,格式是 时分秒。
思路就是获取当时时间 时分秒,转换成秒或者需要的精度,去跟数据库这个时间段相互比较大小,下面是写了一个工具类和测试demo,测试可行,记录一下
/** * 比较两个时间 时分秒 大小 * @param s1 * @param s2 * @return */ public static boolean compTime(String s1,String s2){ try { if (s1.indexOf(":")<0||s1.indexOf(":")<0) { System.out.println("格式不正确"); }else{ String[]array1 = s1.split(":"); int total1 = Integer.valueOf(array1[0])*3600+Integer.valueOf(array1[1])*60+Integer.valueOf(array1[2]); String[]array2 = s2.split(":"); int total2 = Integer.valueOf(array2[0])*3600+Integer.valueOf(array2[1])*60+Integer.valueOf(array2[2]); return total1-total2>0?true:false; } } catch (NumberFormatException e) { e.printStackTrace(); return false; } return false; }
//当前时间 时分秒 GregorianCalendar calendar = new GregorianCalendar(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); String hour_str=String.valueOf(hour); String minute_str=String.valueOf(minute); String second_str=String.valueOf(second); String nowTime=hour_str+":"+minute_str+":"+second_str; System.out.println("nowTime === " + nowTime); boolean startT= compTime(nowTime,startTime); boolean endT= compTime(nowTime,endTime); if(startT&&!endT){ System.out.println("在允许时间范围内 == " + nowTime); return true; }