1、指定时间之前到00:00
/**
* 获取指定格式的上个小时的Date 00:00
* @param i > 0 i小时之后的数据,< 0 则是i之前时间
* @return
*/
public static Date getBeforeHourDate(int i) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + i);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
return calendar.getTime();
}
2、指定时间之前到59:59
/**
* 获取指定格式的上个小时的Date 的59:59
*/
public static Date getBeforeHourEndDate(int i) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + i);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MINUTE, 59);
return calendar.getTime();
}
应用: 场景假设: 当前时间16:03:00,我要获取上一个小时的时间段,即15:00:00-15:59:59
Date beginTime = TimeUtils.getBeforeHourDate(-1); //15:00:00
Date endTime = TimeUtils.getBeforeHourEndDate(-1); //15:59:59
你是技术宅么?那就加入我们吧!点击下方链接 或 扫描二维码 即可。
欢迎加入 CSDN技术交流群2:(点击即可加群)QQ群:456543087
CSDN技术交流群(已满员):(点击即可加群)QQ群:681223095。
商务合作@群主,谢谢!
因经常有人留言,未能及时查看到和回复,所以特建此群,以方便交流。方便问题讨论,有问题和没有问题的小伙伴均可加入,用作自我学习和共同进步。本博主不一定长期在线,但是qq群里会有很多热心的小伙伴,大家一起讨论解决问题。