public void getTime()
{
Calendar calendar = Calendar.getInstance();
calendar.getTime();
this.minutes = calendar.MINUTE;
this.hours= calendar.HOUR_OF_DAY;
}
鑑於此代碼是否將整數值中的變量分鐘和小時設置爲當前時間?它似乎不是有什麼不對嗎?正在獲取當前時間
public void getTime()
{
Calendar calendar = Calendar.getInstance();
calendar.getTime();
this.minutes = calendar.MINUTE;
this.hours= calendar.HOUR_OF_DAY;
}
鑑於此代碼是否將整數值中的變量分鐘和小時設置爲當前時間?它似乎不是有什麼不對嗎?正在獲取當前時間
試試這個拿到分鐘和小時從當天的日曆實例
this.minutes = calendar.get(Calendar.MINUTE);
this.hours= calendar.get(Calendar.HOUR_OF_DAY);
Calendar.MINUTE
和Calendar.HOUR_OF_DAY
是常數,它只是給int值。將int值應用於日曆實例並獲取Minute和Hour值。
應該這樣
Calendar calendar = Calendar.getInstance();
this.minutes = calendar.get(Calendar.MINUTE);
this.hours=calendar.get(Calendar.HOUR_OF_DAY);
事實上Calendar calendar = Calendar.getInstance();
使用並設置calendar
到目前的一天。這段代碼很好。
但calendar.MINUTE
和calendar.HOUR_OF_DAY
是來自枚舉的恆定值。這就是爲什麼你會得到奇怪的結果。
您需要作爲參數提供枚舉值的功能:例如
this.minutes = calendar.get(Calendar.MINUTE);
this.hours = calendar.get(Calendar.HOUR_OF_DAY);
的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()
。
你覺得有什麼不好? – Cris
'Calendar.MINUTE'是一個靜態字段和常量!閱讀的Javadoc,以瞭解如何使用日曆:http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html – LaurentG
我覺得它實際上並沒有給我當前時間。 – user3249265