日付クラスを使用して、関数で現在の時間を取得します
Date date = new Date();
int t=date.getHours();
そしてEclipseは、コードの非推奨について不平を言い続けています。すべてがまったく問題なく動作しますが、警告が表示され続けます。変更する必要がある理由はありますか? 現在の時刻を取得する代わりの方法はありますか?
ライブラリの一部に問題が見つかった場合、非推奨としてマークされますが、設計者は、既存の部分を改善すると、古い動作にすでに依存している多くの既存のプログラムが機能しなくなる可能性があると判断します。
そのため、少なくともしばらくの間 (既存のソースが更新されるまでコンパイルする能力を維持するため)、既存の部分を保持しますが、通常は代わりに代替手段を提供します。
さて、Java での時間に関しては、ほとんどの人がJoda timeを推奨しています。
これを変更する必要があるjava.util.Date
のは、多くの微妙な点で壊れているためです。コードは特定の状況では機能し、他の状況では失敗する可能性があります (たとえば、別のタイム ゾーンのコンピューターでコードを実行した場合、クラッカーがアプリケーションを攻撃した場合、誰かがシリアル化されたDate
オブジェクトをいじった場合など)。
2013 年には、java.util.Date
もう使用しないでください。Calendar
必要に応じて を使用するか、より優れたjoda-time ライブラリを使用してください。
getHours()は非推奨のメソッドです
非推奨。JDK バージョン 1.1 以降、Calendar.get(Calendar.HOUR_OF_DAY) に置き換えられました。
変更する理由は、非推奨のコードが将来のリリースで削除されるように「マーク」されているためです。そのため、長期にわたって維持する予定がある場合は、コードで非推奨のメソッドを使用しないでください。
時間を取得するために何をすべきかについては、Date 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 クラスを使用して問題を回避できます。
Date#getHours
非推奨です:
JDK バージョン 1.1 以降、Calendar.get(Calendar.HOUR_OF_DAY) に置き換えられました。