public static int[] timeScope = new int[]{1,2,3,4,6,8,12,24};
    public static String[] char26 = new String[]{“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”,”g”,”k”,”l”,”m”,”n”,”o”,”p”,”q”,”r”,”s”,”t”,”u”,”v”,”w”,”x”,”y”,”z”};
    /
    @author: qzf
    @date: 2022/5/24 17:35
    @describe: 获取下次拍照时间,按整点计算
    @param:当前时间,时间间隔 (1,2,3,4,6,8,12,24)
    @return:
    /
    public static Date getPzTimeInterval(Date date, Integer pzjg){
    //获取拍照间隔
    int finalPzjg = (pzjg == null || pzjg == 0) ? ApplicationConfig.pzTimeInterval : pzjg;
    //检测拍照间隔是否正确
    if(Arrays.binarySearch(timeScope,finalPzjg) < 0){
    //如果不在范围内按24小时计算
    finalPzjg = 24;
    }
    //根据间隔划分拍照区间:如:间隔8小时,24/8 = 3 个区间
    /
    0 [00:00 - 08:00) 即 [00:00:00.000 - 07:59:59.999]
    1 [08:00 - 16:00) 即 [08:00:00.000 - 15:59:59.999]
    2 [16:00 - 24:00) 即 [16:00:00.000 - 23:59:59.999]
    /
    int period = 24 / finalPzjg;
    String[][] arrPeriod = new String[period][2];
    for(int i = 0; i < period; i++){
    arrPeriod[i][0] = (ifinalPzjg) + “:00:00.000”;
    arrPeriod[i][1] = (i
    finalPzjg) + (finalPzjg - 1) + “:59:59.999”;
    }
    //判断日期在哪个区间
    Date pzTime = null;
    for(int j = 0; j < arrPeriod.length; j++){
    long currSt = date.getTime();
    long begSt = DateUtil.stringToDate( DateUtil.dateToString(date) + “ “ + arrPeriod[j][0] ,DateUtil.DATE_TIME_SSS_FORMAT).getTime();
    long endSt = DateUtil.stringToDate( DateUtil.dateToString(date) + “ “ + arrPeriod[j][1] ,DateUtil.DATE_TIME_SSS_FORMAT).getTime();
    if(currSt >= begSt && currSt <= endSt){
    //如果在最后一个区间内,设置为日期为第2天的0点
    if(j == arrPeriod.length - 1){
    pzTime = DateUtil.stringToDate( DateUtil.dateToString(DateUtil.addDay(date,1)) + “ “ + arrPeriod[0][0], DateUtil.DATE_TIME_SSS_FORMAT);
    }
    else{
    pzTime = DateUtil.stringToDate(DateUtil.dateToString(date) + “ “ + arrPeriod[j+1][0], DateUtil.DATE_TIME_SSS_FORMAT);
    }
    break;
    }
    }
    //不在任何区间内,一般不会执行这里,如果出现,设置为第2天的0点
    if(pzTime == null){
    pzTime = DateUtil.addDay( DateUtil.stringToDate( DateUtil.dateToString(date)) ,1);
    }
    return pzTime;
    }
    /

    @author: qzf
    @date: 2022/5/24 17:35
    @describe: 获取设备通讯间隔
    @param:
    @return:
    /
    public static int getTxTimeInterval(String sbbh){
    Long sbbhLong = 0L;
    try{
    sbbhLong = Long.parseLong(sbbh);
    }catch(Exception e){
    e.printStackTrace();
    try{
    sbbh = sbbh.toLowerCase();
    for(String s : char26 ){
    sbbh = sbbh.replaceAll(s,””);
    }
    sbbhLong = Long.parseLong(sbbh);
    }catch(Exception e1){
    e1.printStackTrace();
    }
    }
    Long mod = Math.floorMod(sbbhLong,ApplicationConfig.txTimeInterval);
    return mod.intValue();
    }
    //调用
    SxzdParam.getPzTimeInterval(DateUtil.stringToDate(“2021-05-12 21:01:00.00”,DateUtil.DATE_TIME_FORMAT),0);