格式化若干分钟的时间

时间:2013-12-05 04:02:50

标签: java time formatting hour minute

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

等于

1:03

和时间= 605

等于

10:05。

提前谢谢!

6 个答案:

答案 0 :(得分:1)

试试这个

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

答案 1 :(得分: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,您还可以更灵活地使用其他适合日期的计算。

输出:

  

Thu Dec 05 10:05:00 CET 2013

答案 2 :(得分:0)

尝试,

int  totSec= 605;

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

答案 3 :(得分: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,它将翻身。

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

 minsformat(305);

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

system.out.println(hour+":"+s);
}