我使用日期類功能「代碼不贊成」使用Java
Date date = new Date();
int t=date.getHours();
獲得當前的小時和Eclipse不斷抱怨代碼棄用。一切工作都很好,但它一直在警告我,是否有理由改變它?有沒有其他方法來獲得當前時間?
我使用日期類功能「代碼不贊成」使用Java
Date date = new Date();
int t=date.getHours();
獲得當前的小時和Eclipse不斷抱怨代碼棄用。一切工作都很好,但它一直在警告我,是否有理由改變它?有沒有其他方法來獲得當前時間?
Date#getHours
被棄用:
從JDK 1.1版,用Calendar.get(Calendar.HOUR_OF_DAY)代替。
我想OP是指java.util.Date,而不是java.sql.Date – assylias
@assylias哦耶,編輯它,順便說一句java.sql.Date的getHours ()也不推薦使用。:) – PermGenError
改變的原因是過時的代碼是「標」,在未來的版本中刪除,因此,如果您打算保持它隨着時間的推移,你不應該使用過時的方法,你的代碼。
至於什麼做的就是一小時,從日期的Javadoc:
As of JDK version 1.1, replaced by Calendar.get(Calendar.HOUR_OF_DAY).
Date.getHours
被棄用的JDK 1.1版本。您應該使用java.util.Calendar.get(Calendar.HOUR_OF_DAY)
代替:
Calendar c = Calendar.getInstance();
int t = c.get(Calendar.HOUR_OF_DAY);
http://uk.answers.yahoo.com/question/index?qid=20081123050802AAL0gAm
基本上,你仍然可以使用的方法。但它可能不支持接下來的幾個版本的Java。
順便說一句,你可以通過使用Calendar類來解決問題。
你應該改變它的原因是java.util.Date
以許多微妙的方式被打破。您的代碼可能在某些情況下工作,並在其他時間失敗(例如,當您在具有不同時區的計算機上運行它時,當黑客攻擊您的應用程序,當有人與序列化對象混淆時,...)
2013年,您不應再使用java.util.Date
。如果您必須使用Calendar
,或者更好joda-time library。
從2013年9月起,切換到Java 8並享受新的Joda-like Date API ;-) – assylias
您是否閱讀過[javadoc](http://docs.oracle.com/javase/7/docs/api/java/util/Date。HTML#調用getHours%28%29)? *從JDK版本1.1開始,由'Calendar.get(Calendar.HOUR_OF_DAY)替換'。* – assylias
很高興看到使用StackOverflow的人,但是當人們發佈甚至是微不足道的問題時,甚至沒有做出太多的努力,我覺得有點令人沮喪如閱讀javadoc或做一個非常簡單的網絡搜索。 – pap
我只是不知道在編程上下文意味着什麼不推薦使用.. – aclokay