java 获取一段时间内的所有天数并打印出来 粘走直接可以用
关于一段时间内的天数问题搞了我好一会, 其实很简单
上代码 最直接
public static void main(String[] args) throws Exception {
String list = addDates("2018-02-01", "2019-02-05");
System.out.println(list);
// list.forEach(i ->
// System.out.println(i)
// );
}
/**
* @param cntDateBeg 开始时间
* @param cntDateEnd 结束时间
* @return
*/
public static String addDates(String cntDateBeg, String cntDateEnd) {
//List<String> list = new ArrayList<>();
String list = "";
//拆分成数组
String[] dateBegs = cntDateBeg.split("-");
String[] dateEnds = cntDateEnd.split("-");
//开始时间转换成时间戳
Calendar start = Calendar.getInstance();
start.set(Integer.valueOf(dateBegs[0]), Integer.valueOf(dateBegs[1]) - 1, Integer.valueOf(dateBegs[2]));
Long startTIme = start.getTimeInMillis();
//结束时间转换成时间戳
Calendar end = Calendar.getInstance();
end.set(Integer.valueOf(dateEnds[0]), Integer.valueOf(dateEnds[1]) - 1, Integer.valueOf(dateEnds[2]));
Long endTime = end.getTimeInMillis();
//定义一个一天的时间戳时长
Long oneDay = 1000 * 60 * 60 * 24l;
Long time = startTIme;
//循环得出
while (time <= endTime) {
list+="historyinfo"+(new SimpleDateFormat("yyyyMMdd").format(new Date(time)))+",";
time += oneDay;
}
list = list.substring(0, list.length() - 1);
return list;
}