2015-09-27 251 views
0

我在我的代码中打印了一个时钟。即使我需要2,我仍然只获得1位数的输出。故意没有参数。我想获得的格式下午12时01分50秒printf不工作... JAVA

 public void printStandard() { 
     if (hrs < 12) { 
      System.out.printf("%2d:%2d:%2d AM%n", hrs, mins, secs); 
     } else { 
      System.out.printf("%2d:%2d:%2d PM%n", hrs - 12, mins, secs); 
     } 
} 

回答

1

您应该使用%02d,而不是有07,而不是7在你的时间String。如果数字少于两个数字,则会在数字中添加0的填充。

System.out.printf("%02d:%02d:%02d AM%n", 7, 1, 5); 

输出

07:01:05 AM 

注:您也可以在SimpleDateFormatCalendar看看,如果你是Date工作。