日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java 将两个日期的时间段按照一定天数进行周期切割

發(fā)布時(shí)間:2024/3/13 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 将两个日期的时间段按照一定天数进行周期切割 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?上代碼:

public static List<CycleTimeVo> getCycleList(int cycleNum,String startTime,String endTime) throws ParseException {System.out.println("統(tǒng)計(jì)的時(shí)間段為:從"+startTime+"到"+endTime);Date endParse = new SimpleDateFormat("yyyy-MM-dd").parse(endTime);Long endLong = endParse.getTime();SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//這個(gè)是你要轉(zhuǎn)成后的時(shí)間的格式endTime = sdf.format(new Date(endLong));System.out.println("結(jié)束時(shí)間是:"+endTime);int daysBetweenNum = daysBetween(startTime, endTime);int cycleForNum = daysBetweenNum % cycleNum == 0 ? (daysBetweenNum / cycleNum) : (daysBetweenNum / cycleNum) + 1;System.out.println("兩日期間相隔的天數(shù)為:" + daysBetweenNum);System.out.println("周期選擇是:" + cycleNum + "天一周期, 則切割出來的周期存在個(gè)數(shù):" + cycleForNum);Date startParse = new SimpleDateFormat("yyyy-MM-dd").parse(startTime);Long startLong = startParse.getTime();Long calculationLong = startLong;List<CycleTimeVo> CycleTimeList=new ArrayList();for (int i = 1; i <= cycleForNum; i++) {String startStr = sdf.format(new Date(calculationLong));Date startStrParse = new SimpleDateFormat("yyyy-MM-dd").parse(startStr);Long startStrLong = startStrParse.getTime();Long cycleLong = cycleNum*86400000l;calculationLong = startStrLong + cycleLong;String endStr = endTime;if (calculationLong <= endLong) {endStr = sdf.format(new Date(calculationLong));}System.out.println("起始:" + startStr + "結(jié)束:" + endStr);CycleTimeVo cycleTimeVo=new CycleTimeVo();cycleTimeVo.setStartTimeStr(startStr);cycleTimeVo.setEndTimeStr(endStr);CycleTimeList.add(cycleTimeVo);}System.out.println("周期list:"+CycleTimeList.toString());return CycleTimeList;}public static int daysBetween(String smdate, String bdate) throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar cal = Calendar.getInstance();cal.setTime(sdf.parse(smdate));long time1 = cal.getTimeInMillis();cal.setTime(sdf.parse(bdate));long time2 = cal.getTimeInMillis();long between_days = (time2 - time1) / (1000 * 3600 * 24);return Integer.parseInt(String.valueOf(between_days));}

測(cè)試結(jié)果:

第一個(gè)參數(shù)為周期的天數(shù),這里示例為7天一個(gè)周期切割,

getCycleList(7,"2020-02-01","2020-02-14");

可以看到結(jié)果正確:

總結(jié)

以上是生活随笔為你收集整理的Java 将两个日期的时间段按照一定天数进行周期切割的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。