java 截取小時 時間段,一半個小時為單位


/**
     * 截取小時 時間段,一半個小時為單位
     *
     * @param startTime 06:00 格式強制 **:**
     * @param endTime 18:00 格式強制 **:**
     * @return
     */
    public static List<String> getHourParts(String startTime ,String endTime){
        List<String> list = new ArrayList<>();
        int startIndex = 0;
        int endIndex = 0;
        //30分鍾一次1天有48次
        int hoursNumber = 48;
        //開始時間為0秒,第一次循環為900秒
        int startValueZero = 0;
        //開始時間為-900秒,第一次循環為0秒
        int startValueNineHundred = -1800;
        //初始時間都為00:00
        String initialTimeFront = "00:00";
        //循環時間為00:00~23:30
        for (int i = 0; i < hoursNumber; i++) {
            //每次循環之前加15分鍾
            startValueZero = startValueZero + 1800;
            //每次循環之前加15分鍾
            startValueNineHundred = startValueNineHundred + 1800;
            //判斷初始秒樹是否為0
            if(startValueZero != 0){
                //換算成小時
                int conversionHours = (Integer.valueOf(startValueZero) / 3600);
                //換算成分鍾
                int conversionMinute = (Integer.valueOf(startValueZero) % 3600 / 60);
                //把生成的時間轉化成字符串
                String hourst = String.valueOf(conversionHours);
                String minute = String.valueOf(conversionMinute);
                //如果小時的長度等於1個,在其前面加個0
                if(hourst.length() == 1){
                    hourst = "0"+hourst;
                }
                //如果小時的到達24點讓其初始化為00
                if(hourst.equals("24")){
                    hourst = "00";
                }
                //如果分鍾的長度等於1個,在其前面加個0
                if(minute.length() == 1){
                    minute = "0"+minute;
                }
            }
            //循環時間為00:30~00:00
            if(startValueNineHundred != 0){
                //換算成小時
                int conversionHourst = (Integer.valueOf(startValueNineHundred) / 3600);
                //換算成分鍾
                int conversionMinute = (Integer.valueOf(startValueNineHundred) % 3600 / 60);
                //把生成的時間轉化成字符串
                String hourst = String.valueOf(conversionHourst);
                String minute = String.valueOf(conversionMinute);
                //如果小時的長度等於1個,在其前面加個0
                if(hourst.length() == 1){
                    hourst = "0"+hourst;
                }
                //如果小時的到達24點讓其初始化為00
                if(hourst.equals("24")){
                    hourst = "00";
                }
                //如果分鍾的長度等於1個,在其前面加個0
                if(minute.length() == 1){
                    minute = "0" + minute;
                }
                //拼接小時和分鍾
                initialTimeFront = hourst + ":" + minute;
                if(initialTimeFront.equals(startTime)){
                  startIndex = i;
                }
                if(initialTimeFront.equals(endTime)){
                    endIndex = i + 1;
                }
            }
            //將所有字段放入list中
            list.add(initialTimeFront);
        }
        //閉合
        list.add(initialTimeFront);
        //截取
        List<String> subList = list.subList(startIndex, endIndex);
        return subList;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM