在允許時間范圍內可以調用這個接口,這個時間段是用戶手動配置的,格式是 時分秒。
思路就是獲取當時時間 時分秒,轉換成秒或者需要的精度,去跟數據庫這個時間段相互比較大小,下面是寫了一個工具類和測試demo,測試可行,記錄一下
/** * 比較兩個時間 時分秒 大小 * @param s1 * @param s2 * @return */ public static boolean compTime(String s1,String s2){ try { if (s1.indexOf(":")<0||s2.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; }