1. 程式人生 > 程式設計 >Java遍歷起止日期中間的所有日期操作

Java遍歷起止日期中間的所有日期操作

傳入的起止日期,返回一個泛型為String的集合:

private static List<String> dateUtil(Date start,Date end) {
    List<String> list = new ArrayList<String>();
    long s = start.getTime();
    long e = end.getTime();

    Long oneDay = 1000 * 60 * 60 * 24l;

    while (s <= e) {
      start = new Date(s);
      list.add(new SimpleDateFormat("yyyy-MM-dd").format(start));
      s += oneDay;
    }
    return list;
  }

補充知識:java中日期的迴圈

看了很多的日期迴圈的程式碼,沒有用到calendar的基本就不用看了,各種迴圈判斷,只有這一篇比較靠譜

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; 
 
public class Test{
	
	@Test
	public void forDate() {
		// 日期格式化
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		try {
			// 起始日期
			Date d1 = sdf.parse("2018-2-25");
			// 結束日期
			Date d2 = sdf.parse("2018-3-5");
			Date tmp = d1;
			Calendar dd = Calendar.getInstance();
			dd.setTime(d1);
			// 列印2018年2月25日到2018年3月5日的日期
			while (tmp.getTime() < d2.getTime()) {
				tmp = dd.getTime();
				System.out.println(sdf.format(tmp));
				// 天數加上1
				dd.add(Calendar.DAY_OF_MONTH,1);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
 
}

以上這篇Java遍歷起止日期中間的所有日期操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。