Joda
2017-11-24 14:50
357 查看
/** * 计算两个日期之间相差的天数 * * @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 Collection<WeekSplit> splitWeek(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<Integer, WeekSplit> 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;
}
}
相关文章推荐
- Joda-Time简介[转]
- Joda-Time学习
- Joda-Time 简介
- alibaba fastjson joda time 解析器
- java开源时间框架joda-time简单使用的junit实例
- Joda 日期类简单的获取当前完整日期和当前日子的用法
- joda-time的使用
- Joda-Time 用法
- joda-collection 之 Grid源码解析
- joda-time-2.9.4.jar
- Joda-Time 用法
- Joda-Time
- 无敌好用的时间小插件 joda-time
- 利用joda(强大的Java日期操作组件)实现获取两个日期间隔
- JAVA基本框架搭建(Maven,jetty,Joda-time,junit)
- Joda开源扩展插件,神马日期工具类都是浮云!!Demo下载运行即可查看,注释齐全,真心好用,分享大家。
- 使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒
- joda.time 处理时间--计算2个日期之间的天数
- Joda转换时区的坑
- java 8 time包与joda 对比