2013-12-05 2 views
0

Итак, у меня есть переменное время. Он подсчитывает минуты. Есть ли способ, который я могу легко отформатировать в считанные минуты? Например, время = 63Форматирование количества минут во времени

будет равна

1:03

и время = 605

будет равна

10:05.

Спасибо заранее!

+1

http://stackoverflow.com/questions/8916472/convert-integer-minutes-into -string-ччмм – bishop

ответ

0
public static void main(String[] args) { 
    Calendar cal = new GregorianCalendar(); 
    cal.set(Calendar.HOUR, 0); 
    cal.set(Calendar.MINUTE, 0); 
    cal.set(Calendar.SECOND, 0); 
    cal.set(Calendar.MILLISECOND, 0); 

    cal.add(Calendar.MINUTE, 605); 
    System.out.println(cal.getTime()); 
} 

Просто создайте новый Calendar и добавьте количество минут. Вам не нужна дата, просто время. По этой причине я сбрасываю все вручную в календаре. Используя Calendar, вы также обладаете большей гибкостью при других расчетах, соответствующих дате.

Выход:

чт 5 декабря 10:05:00 CET 2013

0

Try,

int totSec= 605; 

int min=totSec/60; 
int second=totSec%60; 
System.out.printf("%d:%02d\n",min,second); 
0

SimpleDateFormat может сделать любой формат времени вы хотите, включая выше.

Для объекта Date нужно просто установить его на количество миллисекунд с начала эпохи http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#Date(long)

new SimpleDateFormat("HH:mm").format(new Date(minutes * 1000 * 60)) 

Единственная проблема с вышеуказанным раствором, если время прошло 23:59 он будет пролонгировать.

0

Предполагая, что вход всегда в секундах:

System.out.println(
    new SimpleDateFormat("HH:mm:ss").format(
     new SimpleDateFormat("ss").parse("" + seconds))); 
1

попробовать это

String s = String.format("%02d:%02d", time/60, time % 60); 
0
minsformat(305); 

public void minsformat(int m){ 
int hour=m/60; 
int s=m%60; 

system.out.println(hour+":"+s); 
} 
Смежные вопросы