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 回答