public static Date getSpecialTimefromDate(Date currentDate){
//currentDate like '2018-03-24 12:01:00'
Calendar calendar=Calendar.getInstance();
calendar.setTime(currentDate);
int minute=calendar.get(calendar.MINUTE);
int second=calendar.get(calendar.SECOND);
int millisecond=calendar.get(calendar.MILLISECOND);
boolean isSpecialTime=(minute==0||minute==10||minute==20||minute==30||minute==40||minute==50)&&second==0&&millisecond==0;
if(isSpecialTime){
return currentDate;
}else {
Calendar specialCalendar=Calendar.getInstance();
specialCalendar.setTime(currentDate);
specialCalendar.set(calendar.MINUTE,0);
specialCalendar.set(calendar.SECOND,0);
specialCalendar.set(calendar.MILLISECOND,0);
long minDiff=Long.MAX_VALUE;
Calendar res=Calendar.getInstance();
for(int i=0;i<=6;i++){
long diff=Math.abs(calendar.getTimeInMillis()-specialCalendar.getTimeInMillis());
if(diff<minDiff){
minDiff=diff;
res.setTime(specialCalendar.getTime());
}
specialCalendar.add(calendar.MINUTE,10);
}
return res.getTime();
}
}
java获得离指定时刻最近的00 10 20 30 40 50时刻
最新推荐文章于 2024-01-23 14:47:29 发布