0.码仙励志
谁把安逸当成幸福的花朵,那么等到结果时节,他只能望着空枝叹息。
1.代码
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Test {
public static void main(String[] args) {
String pasteArr[] = dateSplit("2016-02-25", "2016-03-05");
for (int i = 0; i < pasteArr.length; i++) {
System.out.println(pasteArr[i]);
}
}
/**
* 返回指定的时间段内的有所日期
*
* @param startDate 开始时间,例:2016-02-25
* @param endDate 结束时间,例:2016-03-05
* @return
*/
private static String[] dateSplit(String startDate, String endDate) {
String[] ar = {};
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date newstartDate;
try {
newstartDate = simpleDateFormat.parse(startDate);
Date newendDate = simpleDateFormat.parse(endDate);
List<String> dateList = new ArrayList<String>();
Long spi = newendDate.getTime() - newstartDate.getTime();
Long step = spi / (24 * 60 * 60 * 1000);// 相隔天数
List<Date> newdateList = new ArrayList<Date>();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
newdateList.add(newstartDate);
dateList.add(startDate);
for (int i = 1; i <= step; i++) {
dateList.add(formatter.format(new Date(newdateList.get(i - 1).getTime() + (24 * 60 * 60 * 1000))));
newdateList.add(new Date(newdateList.get(i - 1).getTime() + (24 * 60 * 60 * 1000)));// 比上一天+一
}
String[] strings = new String[dateList.size()];
String[] array = dateList.toArray(strings);
return array;
} catch (ParseException e) {
e.printStackTrace();
return ar;
}
}
}
2.运行结果

本文介绍了一个使用Java实现的日期区间生成器,该程序能够生成指定开始和结束日期之间的所有日期,采用SimpleDateFormat进行日期格式化,通过计算时间戳差值得到相隔天数,并利用ArrayList存储生成的日期。
3613





