宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

Java 比较两个时间 时分秒 大小-冯金伟博客园

在允许时间范围内可以调用这个接口,这个时间段是用户手动配置的,格式是 时分秒。

思路就是获取当时时间 时分秒,转换成秒或者需要的精度,去跟数据库这个时间段相互比较大小,下面是写了一个工具类和测试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;
                        }