2015-10-04 178 views
2

我想製作一個顯示系統時間的模擬時鐘。我的代碼工作完美,但唯一的問題是,我想以12小時制顯示時間,但以24小時制顯示。12小時24小時制轉換JAVAFX

void setCurrentTime() { 
     Calendar calendar = new GregorianCalendar(); 
// Set current hour, minute, and second 
this.hour = calendar.get(Calendar.HOUR_OF_DAY); 
this.minute = calendar.get(Calendar.MINUTE); 
this.second = calendar.get(Calendar.SECOND); 
paintClock(); 
} 
+0

請張貼代碼 – Rehman

+0

對不起剛纔編輯的職務,方法爲當前時間 –

+0

如果可以的話,使用[新數據時庫(https://docs.oracle.com/javase /tutorial/datetime/TOC.html),而不是舊的'Calendar'類。新圖書館在許多方面更好,更易於使用。 – Lii

回答

1

使用Calendar.HOUR,而不是Calendar.HOUR_OF_DAY


從Javadoc文檔Hour:爲獲取設置指示上午或下午的小時

場數和。 HOUR用於12小時時鐘(0 - 11)

從JavaDoc以HOUR_OF_DAY:表示一天中的小時get和集

場數。 HOUR_OF_DAY用於24小時制。

+0

謝謝你的幫助:) –

0

假設,從你使用的JavaFX,你也使用Java 8會:

讓古老的Calendar類退休。使用java.time

LocalTime currTime = LocalTime.now(); 
this.hour = currTime.get(ChronoField.HOUR_OF_AMPM); 
this.minute = currTime.getMinute(); 
this.second = currTime.getSecond(); 
相關問題