Java遍历起止日期中间的所有日期操作

传入的起止日期,返回一个泛型为String的集合:

private static List dateUtil(Date start, Date end) {
    List list = new ArrayList();
    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遍历起止日期中间的所有日期操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Java遍历起止日期中间的所有日期操作)