0

日付クラスを使用して、関数で現在の時間を取得します

Date date = new Date();
int t=date.getHours();

そしてEclipseは、コードの非推奨について不平を言い続けています。すべてがまったく問題なく動作しますが、警告が表示され続けます。変更する必要がある理由はありますか? 現在の時刻を取得する代わりの方法はありますか?

4

7 に答える 7

1

ライブラリの一部に問題が見つかった場合、非推奨としてマークされますが、設計者は、既存の部分を改善すると、古い動作にすでに依存している多くの既存のプログラムが機能しなくなる可能性があると判断します。

そのため、少なくともしばらくの間 (既存のソースが更新されるまでコンパイルする能力を維持するため)、既存の部分を保持しますが、通常は代わりに代替手段を提供します。

さて、Java での時間に関しては、ほとんどの人がJoda timeを推奨しています。

于 2013-01-16T11:32:14.273 に答える
1

これを変更する必要があるjava.util.Dateのは、多くの微妙な点で壊れているためです。コードは特定の状況では機能し、他の状況では失敗する可能性があります (たとえば、別のタイム ゾーンのコンピューターでコードを実行した場合、クラッカーがアプリケーションを攻撃した場合、誰かがシリアル化されたDateオブジェクトをいじった場合など)。

2013 年には、java.util.Dateもう使用しないでください。Calendar必要に応じて を使用するか、より優れたjoda-time ライブラリを使用してください。

于 2013-01-16T11:33:22.603 に答える
1

java.util.Date APIを見ると

getHours()は非推奨のメソッドです

非推奨。JDK バージョン 1.1 以降、Calendar.get(Calendar.HOUR_OF_DAY) に置き換えられました。

于 2013-01-16T11:30:13.233 に答える
0

変更する理由は、非推奨のコードが将来のリリースで削除されるように「マーク」されているためです。そのため、長期にわたって維持する予定がある場合は、コードで非推奨のメソッドを使用しないでください。
時間を取得するために何をすべきかについては、Date Javadoc から:

As of JDK version 1.1, replaced by Calendar.get(Calendar.HOUR_OF_DAY).
于 2013-01-16T11:31:14.527 に答える
0

Date.getHoursJDK バージョン 1.1 の時点で非推奨です。java.util.Calendar.get(Calendar.HOUR_OF_DAY)代わりに次を使用する必要があります。

Calendar c = Calendar.getInstance();
int t = c.get(Calendar.HOUR_OF_DAY);
于 2013-01-16T11:31:23.433 に答える
0

http://uk.answers.yahoo.com/question/index?qid=20081123050802AAL0gAm

基本的には、引き続きメソッドを使用できます。ただし、Java の次のいくつかのバージョンではサポートされない可能性があります。

ところで、 Calendar クラスを使用して問題を回避できます。

于 2013-01-16T11:32:17.770 に答える
0

Date#getHours非推奨です:

JDK バージョン 1.1 以降、Calendar.get(Calendar.HOUR_OF_DAY) に置き換えられました。

于 2013-01-16T11:29:41.407 に答える