我有问题。我只需要计算小时和分钟,而不是天
import java.util.concurrent.TimeUnit;
public class TimeUtils {
public static String millisecondToFullTime(long millisecond) {
return timeUnitToFullTime(millisecond, TimeUnit.MILLISECONDS);
}
public static String secondToFullTime(long second) {
return timeUnitToFullTime(second, TimeUnit.SECONDS);
}
public static String minutesToFullTime(long minutes) {
return timeUnitToFullTime(minutes, TimeUnit.MINUTES);
}
public static String timeUnitToFullTime(long time, TimeUnit timeUnit) {
long day = timeUnit.toDays(time);
long hour = timeUnit.toHours(time) % 24;
long minute = timeUnit.toMinutes(time) % 60;
long second = timeUnit.toSeconds(time) % 60;
if (day > 0) {
return String.format("%d day %02d:%02d:%02d", day, hour, minute, second);
} else if (hour > 0) {
return String.format("%d:%02d:%02d", hour, minute, second);
} else if (minute > 0) {
return String.format("%d:%02d", minute, second);
} else {
return String.format("%02d", second);
}
}
}
这段代码如何在java中只计算小时和分钟?现在我在几小时和几分钟内得到结果。一些函数返回毫秒到全时间,一些函数返回分钟到完整时间。如果我注释掉 day if 子句,它将无法正确计算。
如果参数等于 1 天 5 小时 30 分钟,它应该返回29:30:00
.