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;
}