Java中傳入一個時間段,取出該時間段內所有日期的集合
阿新 • • 發佈:2018-11-22
package com.yhsb.assisData.controller; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class ceshi { public static void main(String[] args) throws ParseException { findDates("2018-10-01","2018-10-25"); } public static List<String> findDates(String dBegin, String dEnd) throws ParseException { //日期工具類準備 DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //設定開始時間 Calendar calBegin = Calendar.getInstance(); calBegin.setTime(format.parse(dBegin)); //設定結束時間 Calendar calEnd = Calendar.getInstance(); calEnd.setTime(format.parse(dEnd)); //裝返回的日期集合容器 List<String> Datelist = new ArrayList<String>(); // 每次迴圈給calBegin日期加一天,直到calBegin.getTime()時間等於dEnd while (format.parse(dEnd).after(calBegin.getTime())) { // 根據日曆的規則,為給定的日曆欄位新增或減去指定的時間量 calBegin.add(Calendar.DAY_OF_MONTH, 1); Datelist.add(format.format(calBegin.getTime())); } //列印結果 [2018-10-01, 2018-10-02, 2018-10-03, 2018-10-04, 2018-10-05, 2018-10-06, 2018-10-07, 2018-10-08, 2018-10-09, 2018-10-10, 2018-10-11, 2018-10-12, 2018-10-13, 2018-10-14, 2018-10-15, 2018-10-16, 2018-10-17, 2018-10-18, 2018-10-19, 2018-10-20, 2018-10-21, 2018-10-22, 2018-10-23, 2018-10-24, 2018-10-25] System.out.println(Datelist); return Datelist; } }