2

次のように時間を表す Double をフォーマットしようとしています:

Double totalHours = 1.05;

int hour = totalHours.intValue();
Long minutes = Math.round((totalHours - hour) * 60);

System.out.println(hour + ":" + minutes);

この場合、私は得ます"1:3"が、私は好き"01:03"です。どうすればいいですか?

または、これを行うより良い方法はありますか?

4

3 に答える 3

7

次を使用しDecimalFormatます。

DecimalFormat df = new DecimalFormat("00"); // "0" means don't omit leading zero
System.out.println(df.format(hour) + ":" + df.format(minutes));
于 2013-05-13T15:11:28.370 に答える
2

使用するString.format("%02d:%02d", hour, minutes)

于 2013-05-13T15:12:57.160 に答える
1

これを試して:

 String strHourFormat = "HH";
 SimpleDateFormat sdf = new SimpleDateFormat(strHourFormat);
 sdf = new SimpleDateFormat(strHourFormat);
于 2013-05-13T15:12:06.587 に答える