как преобразовать минуты в дневные часы и минуты в Java (у нас есть неделя здесь, 7 дней),
public String timeConvert(int time){
String t = "";
int h = 00;
int m = 00;
// h= (int) (time / 60);
// m = (int) (time % 60);
// if(h>=24) h=00;
if((time>=0) && (time<=24*60)){
h= (int) (time / 60);
m = (int) (time % 60);
}else if((time>24*60) && (time<=24*60*2)){
h= (int) (time / (1440));
m = (int) (time % (1440));
}else if((time>24*60*2) && (time<=24*60*3)){
h= (int) (time / (2880));
m = (int) (time % (2880));
}else if((time>24*60*3) && (time<=24*60*4)){
h= (int) (time / (2880*2));
m = (int) (time % (2880*2));
}else if((time>24*60*4) && (time<=24*60*5)){
h= (int) (time / (2880*3));
m = (int) (time % (2880*3));
}else if((time>24*60*5) && (time<=24*60*6)){
h= (int) (time / (2880*4));
m = (int) (time % (2880*4));
}else if((time>24*60*6) && (time<=24*60*7)){
h= (int) (time / (2880*5));
m = (int) (time % (2880*5));
}
t =h+":"+m ;
return t;
}
Я попробовал это, но это не работает
спасибо
Более короткий путь. (Предполагается, что время > = 0)
public String timeConvert(int time) {
return time/24/60 + ":" + time/60%24 + ':' + time%60;
}
Если хотите сделать это сами, идите другим путем.
Если вы используете Java 6, может оказаться полезным перечисление TimeUnit. Например:
TimeUnit.HOURS.convert(10, TimeUnit.DAYS)
Этот статический вызов преобразует 10 дней в единицы часа и возвращает 240. Вы можете поиграть с единицами времени, начиная с НС и заканчивая ДНЯМИ.
Фактически TimeUnit доступен из Java 5, но в версии 6 были добавлены дополнительные модули.
- РЕДАКТИРОВАТЬ-- Теперь, когда я лучше понимаю ваш вопрос, используйте подход деления и остатка, как в ответе Ромена. Мой совет полезен только для перевода в единую единицу времени.
и ответ:
public String timeConvert(int time){
String t = "";
int j = time/(24*60);
int h= (time%(24*60)) / 60;
int m = (time%(24*60)) % 60;
t =j + ":" + h + ":" + m;
return t;
}
что вы думаете об этом коде?
1) Код повторяется. На мой взгляд, это признак плохого кода.
2) Делитель не должен меняться в сторону количества дней, так как количество дней имеет мало общего с количеством минут в часе.
Кроме того, посмотрите на подход Ромена Хиппо, он рассказал вам, как это сделать.