1. 程式人生 > >JAVA 獲取某段時間內的所有日期集合

JAVA 獲取某段時間內的所有日期集合

獲取指定日期

    public static void main(String[] args) {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();
        Calendar cal3 = Calendar.getInstance();
        Calendar cal4 = Calendar.getInstance
(); //昨天 cal1.add(Calendar.DATE,-1); Date time = cal1.getTime(); System.out.println(sdf.format(time)); //明天 cal2.add(Calendar.DATE,1); Date time2 = cal2.getTime(); System.out.println(sdf.format(time2)); //當前日期往後推一個月 cal3.add(Calendar.MONTH
,1); Date time3 = cal3.getTime(); System.out.println(sdf.format(time3)); //當前日期往後推一年 cal4.add(Calendar.YEAR,1); Date time4 = cal4.getTime(); System.out.println(sdf.format(time4)); }

獲取某段時間內日期集合

   public static void main(String[] args) {

        String
start = "2018-08-08"; String end = "2018-09-08"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dStart = null; Date dEnd = null; try { dStart = sdf.parse(start); dEnd = sdf.parse(end); } catch (ParseException e) { e.printStackTrace(); } List<Date> dateList = findDates(dStart, dEnd); for (Date date : dateList) { System.out.println(sdf.format(date)); } } //JAVA獲取某段時間內的所有日期 public static List<Date> findDates(Date dStart, Date dEnd) { Calendar cStart = Calendar.getInstance(); cStart.setTime(dStart); List dateList = new ArrayList(); //別忘了,把起始日期加上 dateList.add(dStart); // 此日期是否在指定日期之後 while (dEnd.after(cStart.getTime())) { // 根據日曆的規則,為給定的日曆欄位新增或減去指定的時間量 cStart.add(Calendar.DAY_OF_MONTH, 1); dateList.add(cStart.getTime()); } return dateList; }