java任務拆分測試 ,按照指定時間間隔日期執行

思路:選擇一段時間段,以開始時間追加10天(單位)輸出日期;時間段不足10天,只選擇開始時間;到結束時間不足10天,選擇最後距離10天的時間。 

package com.jeeplus.modules.vikingTest;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
/**
 *任務拆分測試  按照指定時間間隔執行
 */
public class ComplexCaculateTask{
    public static void main(String[] args) throws ParseException {
        findDates("2020-04-01","2020-05-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>();
        Datelist.add(format.format(calBegin.getTime()));
        // 每次循環給calBegin日期加一天,直到calBegin.getTime()時間等於dEnd
        while (format.parse(dEnd).after(calBegin.getTime()))  {
            // 根據日曆的規則,爲給定的日曆字段添加或減去指定的時間量
            calBegin.add(Calendar.DAY_OF_MONTH, 10);
            String format1 = format.format(calBegin.getTime());
            if (calBegin.getTime().getTime()>calEnd.getTime().getTime()){
                break;
            }
            Datelist.add(format1);
        }

        System.out.println(Datelist);
        return Datelist;
    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章