Здравствуйте! При переводе миллисекунд в минуты, число превышает 60, должно быть меньше 60. Что я делаю не так, подскажите? Спасибо.
private String funMinutes(int arg) {
String str = null;
if(TimeUnit.MILLISECONDS.toMinutes(arg) < 10) {
str = "0" + String.valueOf(TimeUnit.MILLISECONDS.toMinutes(arg));
}
else {
str = String.valueOf(TimeUnit.MILLISECONDS.toMinutes(arg));
}
return str;
}
Вот так по симпатичнее будет:
private String funMinutes(long arg) {
return String.format("%02d", TimeUnit.MILLISECONDS.toMinutes(arg));
}
Вот такой код прекрасно работает:
public class mainClass
{
public static void main(String[] args)
{
for(long i = 60000; i < 600000; i+=60000)
System.out.println(funMinutes(i));
}
private static String funMinutes(long arg)
{
String str = null;
if (TimeUnit.MILLISECONDS.toMinutes(arg) < 10)
{
str = "0" + String.valueOf(TimeUnit.MILLISECONDS.toMinutes(arg));
}
else
{
str = String.valueOf(TimeUnit.MILLISECONDS.toMinutes(arg));
}
return str;
}
}
Выдает прекрасно:
01
02
03
04
05
06
07
08
09
Я советую поменять параметр у Вас на long (как сделал я). Прорвете подключение пакетов. Отдебажте код. Чудес не бывает.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости