本文共 1771 字,大约阅读时间需要 5 分钟。
/** * 计算两个日期之间相差的天数 * * @author liuchao * @since 19/10/2017 */public static int daysBetween(Date startDate, Date endDate) { Period period=new Period(startDate.getTime(),endDate.getTime(),PeriodType.days()); return period.getDays(); } /** * 按照7天一个周期把一个时间段拆分成多个时间区间 * * @author mayanjun * @since 11/11/2017 */public static CollectionsplitWeek(Date beginDate, Date endDate) { DateTime t1 = new DateTime(beginDate).withTime(0, 0, 0, 0); DateTime t2 = new DateTime(endDate).withTime(0, 0, 0, 0); Map splitMap = new HashMap<>(); for (DateTime ti = new DateTime(t1); ti.isBefore(t2) || ti.isEqual(t2); ti = ti.plusDays(1)) { int week = ti.getWeekOfWeekyear(); WeekSplit split = splitMap.get(week); if (split == null) { split = new WeekSplit(week); splitMap.put(week, split); } split.setDate(ti.toDate()); } return splitMap.values();}/** * 封装开始日期和截止日期 * * @author mayanjun * @since 11/11/2017 */public static class WeekSplit { Date beginDate; Date endDate; int weekOfYear; public WeekSplit(int weekOfYear) { this.weekOfYear = weekOfYear; } public void setDate(Date date) { if (beginDate == null) { beginDate = date; endDate = date; } else { endDate = date; } } public Date getBeginDate() { return beginDate; } public void setBeginDate(Date beginDate) { this.beginDate = beginDate; } public Date getEndDate() { return endDate; } public void setEndDate(Date endDate) { this.endDate = endDate; } public int getWeekOfYear() { return weekOfYear; } public void setWeekOfYear(int weekOfYear) { this.weekOfYear = weekOfYear; }}
转载地址:http://vvuqi.baihongyu.com/