问题:通过当前时间的分钟数,得到该分钟数所在的10分钟范围;
如:
当前时间:2019-08-15 11:34:23
我需要得到该时间所处的10分钟范围
(10分钟时整点时间,2019-08-15 11:39:23的时候,我取得还是下面这个)
开始:2019-08-15 11:30:00
结束:2019-08-15 11:40:00
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
int minute = cal.get(Calendar.MINUTE)/10 * 10;
cal.set(Calendar.MINUTE, minute);
cal.set(Calendar.SECOND, 0);
Date begin = cal.getTime();
cal.add(Calendar.MINUTE, 10);
Date end = cal.getTime();
可以从时间戳入手,将当前时间戳与10*60*1000分别向下、向上取整,然后在乘以10*60*1000即可得到你想要的
3种方法
1.直接截取字符串获取分钟,然后分钟加减,例如36,取十位就是3,用3来加减1,小于0就小时减一,大于6就小时+1
2.用时间戳,分钟取整,分钟后面都写0,然后再加10*60*1000
3.用Calendar 加减分钟
public static void main(String[] args) {
long curr_time = System.currentTimeMillis();
long div = 600000;
long aa1 = ( curr_time ) / div * div;
long aa2 = ( curr_time + div ) / div * div;
Date date1 = new Date(aa1);
Date date2 = new Date(aa2);
System.out.println(date1);
System.out.println(date2);
}
运行:
Thu Aug 15 19:10:00 EDT 2019
Thu Aug 15 19:20:00 EDT 2019