天天看點

java 輸入開始和結束時間,擷取期間範圍内的每一天日期時間

public static void main(String[] args) throws Exception {


        String timeBegin="2020-04-01";
        String timeEnd="2020-04-10";
        
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date begin = sdf.parse(timeBegin);
        Date end = sdf.parse(timeEnd);
        List<Date> lDate = new ArrayList();
        lDate.add(begin);
        Calendar calBegin = Calendar.getInstance();
        // 使用給定的 Date 設定此 Calendar 的時間
        calBegin.setTime(begin);
        Calendar calEnd = Calendar.getInstance();
        // 使用給定的 Date 設定此 Calendar 的時間
        calEnd.setTime(end);
        // 測試此日期是否在指定日期之後
        while (end.after(calBegin.getTime()))
        {
            // 根據月曆的規則,為給定的月曆字段添加或減去指定的時間量
            calBegin.add(Calendar.DAY_OF_MONTH, 1);
            lDate.add(calBegin.getTime());
        }
        List<String> timeStringList=new ArrayList<>();
        for (Date datePes :lDate){
            String format = sdf.format(datePes);
            timeStringList.add(format);
        }

        System.out.println(timeStringList.toString());
    }
    }