0

所以我有一个可变的时间。它计算分钟。有没有办法可以轻松地将其格式化为几分钟?例如,时间 = 63

等于

1:03

和时间 = 605

等于

10:05。

先感谢您!

4

6 回答 6

1

尝试这个

String s = String.format("%02d:%02d", time / 60, time % 60);
于 2013-12-05T04:09:42.707 回答
0
 minsformat(305);

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

system.out.println(hour+":"+s);
}
于 2013-12-05T04:15:13.147 回答
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并添加分钟数。您不需要日期部分,只需要时间。出于这个原因,我在日历中手动重置了所有内容。通过使用 aCalendar您还可以更灵活地进行其他适合日期的计算。

输出:

2013 年 12 月 5 日星期四 10:05:00 CET

于 2013-12-05T04:06:54.707 回答
0

尝试,

int  totSec= 605;

int min=totSec/60;
int second=totSec%60;
System.out.printf("%d:%02d\n",min,second);
于 2013-12-05T04:07:01.990 回答
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,它将翻转。

于 2013-12-05T04:08:06.417 回答
0

假设输入总是以秒为单位:

System.out.println(
    new SimpleDateFormat("HH:mm:ss").format(
        new SimpleDateFormat("ss").parse("" + seconds)));
于 2013-12-05T04:09:37.877 回答