だから私は可変的な時間を持っています。分を数えます。これを簡単に分単位にフォーマットする方法はありますか? たとえば、時間 = 63
等しいだろう
1:03
時間 = 605
等しいだろう
10:05。
前もって感謝します!
だから私は可変的な時間を持っています。分を数えます。これを簡単に分単位にフォーマットする方法はありますか? たとえば、時間 = 63
等しいだろう
1:03
時間 = 605
等しいだろう
10:05。
前もって感謝します!
これを試して
String s = String.format("%02d:%02d", time / 60, time % 60);
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
ことで、他の日付に適した計算をより柔軟に行うこともできます。
出力:
木 12 月 05 日 10:05:00 CET 2013
試す、
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)));
minsformat(305);
public void minsformat(int m){
int hour=m/60;
int s=m%60;
system.out.println(hour+":"+s);
}