将日历时间舍入到最接近的5分钟

时间:2018-03-17 22:45:25

标签: java calendar rounding

下面的代码适用于将java日历时间舍入到最近的15分钟,但是如何更改下面的代码以允许舍入到最接近的5分钟时钟标记。

代码:

int unroundedMinutes = isha_jamaat_cal.get(Calendar.MINUTE);
int mod = unroundedMinutes % 15;
System.out.println("#######mod: " + mod);
isha_jamaat_cal.add(Calendar.MINUTE, mod < 8 ? -mod : (15-mod));

1 个答案:

答案 0 :(得分:0)

我没有测试此代码,但我相信它应该可行。

int unroundedMinutes = isha_jamaat_cal.get(Calendar.MINUTE);
int mod = unroundedMinutes % 5;
isha_jamaat_cal.add(Calendar.MINUTE, mod < 3 ? -mod : (5-mod));

基本思路是检查当前时间是否接近下一个或前一个5分钟时钟标记,并根据此调整添加值。