2つのtimestamp
オブジェクトがあります。Javaの2つのタイムスタンプオブジェクト間の年数を取得します。
java.sql.Timestamp timestamp = java.sql.Timestamp.valueOf("1800-01-01 00:00:00.0");
System.out.println(timestamp);
Timestamp ctimestamp = new Timestamp(System.currentTimeMillis());
System.out.println(ctimestamp);
System.out.println(ctimestamp.getYear() - timestamp.getYear());
出力:それは動作し、ここでの問題は、getYear()
は廃止されている217の適切な値を与える
1800-01-01 00:00:00.0
2017-11-13 11:42:44.56
217
。
私はそれを得るための他の方法はありませんので、私は非推奨の警告を受け取りませんか?
カレンダークラス、またはlocaldateを使用してみましたか? – dan6657
@ dan6657、最初のタイムスタンプはDBから来ます。したがって、上記のスニペットはテスト目的のみです。差分を取得するために新しい現在のタイムスタンプを作成する必要があります – Yakhoob
[期間と期間](https://docs.oracle.com/javase/tutorial/datetime/iso/period.html) – AxelH