所以我有一个可变的时间。它计算分钟。有没有办法可以轻松地将其格式化为几分钟?例如,时间 = 63
等于
1:03
和时间 = 605
等于
10:05。
先感谢您!
所以我有一个可变的时间。它计算分钟。有没有办法可以轻松地将其格式化为几分钟?例如,时间 = 63
等于
1:03
和时间 = 605
等于
10:05。
先感谢您!
尝试这个
String s = String.format("%02d:%02d", time / 60, time % 60);
minsformat(305);
public void minsformat(int m){
int hour=m/60;
int s=m%60;
system.out.println(hour+":"+s);
}
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
尝试,
int totSec= 605;
int min=totSec/60;
int second=totSec%60;
System.out.printf("%d:%02d\n",min,second);
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,它将翻转。
假设输入总是以秒为单位:
System.out.println(
new SimpleDateFormat("HH:mm:ss").format(
new SimpleDateFormat("ss").parse("" + seconds)));