2014-02-18 72 views
1
public void getTime() 
{ 
    Calendar calendar = Calendar.getInstance(); 
    calendar.getTime(); 
    this.minutes = calendar.MINUTE; 
    this.hours= calendar.HOUR_OF_DAY; 

} 

鑑於此代碼是否將整數值中的變量分鐘和小時設置爲當前時間?它似乎不是有什麼不對嗎?正在獲取當前時間

+0

你覺得有什麼不好? – Cris

+4

'Calendar.MINUTE'是一個靜態字段和常量!閱讀的Javadoc,以瞭解如何使用日曆:http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html – LaurentG

+0

我覺得它實際上並沒有給我當前時間。 – user3249265

回答

4

試試這個拿到分鐘和小時從當天的日曆實例

this.minutes = calendar.get(Calendar.MINUTE); 
this.hours= calendar.get(Calendar.HOUR_OF_DAY); 

Calendar.MINUTECalendar.HOUR_OF_DAY是常數,它只是給int值。將int值應用於日曆實例並獲取Minute和Hour值。

0

應該這樣

Calendar calendar = Calendar.getInstance(); 
this.minutes = calendar.get(Calendar.MINUTE); 
this.hours=calendar.get(Calendar.HOUR_OF_DAY); 
0

事實上Calendar calendar = Calendar.getInstance();使用並設置calendar到目前的一天。這段代碼很好。

calendar.MINUTEcalendar.HOUR_OF_DAY是來自枚舉的恆定值。這就是爲什麼你會得到奇怪的結果。

您需要作爲參數提供枚舉值的功能:例如

this.minutes = calendar.get(Calendar.MINUTE); 
this.hours = calendar.get(Calendar.HOUR_OF_DAY); 
1

Calendar類的目的是這樣使用:

Calendar calendar = Calendar.getInstance(); 
this.minutes = calendar.get(Calendar.MINUTE); 
this.hours = calendar.get(Calendar.HOUR_OF_DAY); 

順便說一句, calendar.getTime();行不會執行任何操作,因爲您沒有將getTime的結果保存在變量中。

我也建議,因爲它不是一個getter方法(它不返回任何東西)重命名方法void getTime()