Java中傳入一個時間范圍,取出該時間范圍內所有日期的集合


直接上代碼:

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
import java.util.Optional;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;

import java.text.DateFormat;
import java.text.SimpleDateFormat;

/**
 * 
  * @description: Java中傳入一個時間段,取出該時間段內所有日期的集合
 * @author: fuzongle
 * @Date: 2019-11-22 16:06
 *
 */
public class Demo01 {
    
       public static void main(String[] args) throws Exception {

           
            findDates("2018-02-12","2018-11-25");

        }

       public static List<String> findDates(String dBegin, String dEnd) throws ParseException, java.text.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, 1);
                Datelist.add(format.format(calBegin.getTime()));
            }
     
            System.out.println(Datelist);
            return Datelist;
        }

}

控制台打印結果:

  


免責聲明!

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



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