所以我有一个可变的时间。它计算分钟数。有没有办法可以轻松地将其格式化为几分钟?例如, 时间= 63
等于
1:03
和时间= 605
等于
10:05。
提前谢谢!
答案 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);
}