需要对获得的诸如08:30-11:00这样的字符串进行合法性验证,判定表示的时间区间是否合法,以及对高峰期时间的区间是否
在总的时间区间内部进行判断。
1 String[] zone1="08:30-11:00".split("-"); 2 String[] zone2="13:00-17:00".split("-"); 3 String[] actzone="9:00-11:00".split("-"); 4 5 DateFormat df = new SimpleDateFormat("hh:mm"); 6 7 try{ 8 long mintime=df.parse("00:00").getTime(); 9 long maxtime=df.parse("24:00").getTime(); 10 long[] time1={df.parse(zone1[0]).getTime(),df.parse(zone1[1]).getTime()}; 11 long[] time2={df.parse(zone2[0]).getTime(),df.parse(zone2[1]).getTime()}; 12 long[] acttime={df.parse(actzone[0]).getTime(),df.parse(actzone[1]).getTime()}; 13 14 if(time1[0]>=time1[1]||time1[0]<=mintime||time1[1]>=maxtime) 15 System.out.println("操作区间一不合法"); 16 if(time2[0]>=time2[1]||time2[0]<=mintime||time2[1]>=maxtime) 17 System.out.println("操作区间二不合法"); 18 if(acttime[0]>=acttime[1]||acttime[0]<=mintime||acttime[1]>=maxtime) 19 System.out.println("高峰期区间不合法"); 20 21 boolean ifLegal=false; 22 23 if(acttime[0]>=time1[0]&&acttime[1]<=time1[1]) 24 ifLegal=true; 25 if(acttime[0]>=time2[0]&&acttime[1]<=time2[1]) 26 ifLegal=true; 27 28 if(ifLegal) 29 System.out.println("info:高峰期区间合法"); 30 else 31 System.out.println("warn:高峰期区间不合法"); 32 33 }catch(Exception e){ 34 e.printStackTrace(); 35 }