Java CodeКак раунд миллисекунды в java?
public static long round(long millis , TimeUnit unit){
Calendar calendar = Calendar.getInstance();
switch(unit){
case DAYS:
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.SECOND,0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR, 0);
return calendar.getTimeInMillis();
case HOURS:
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
return calendar.getTimeInMillis();
case MINUTES:
calendar.set(Calendar.MILLISECOND , 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTimeInMillis();
case SECONDS:
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTimeInMillis();
case MILLISECONDS:
default:
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTimeInMillis();
}
}
В настоящее время я использую этот код округлять значение миллисекунды. В этом методе избыточность кода является большой проблемой.
Есть ли лучшее решение или математические уравнения для вычисления этого?