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{@Testpublic 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));// 天數加上1dd.add(Calendar.DAY_OF_MONTH, 1);}} catch (ParseException e) {e.printStackTrace();}} }
以上這篇Java遍歷起止日期中間的所有日期操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: