2016-08-16 4 views
0

joda.time.DateTime.now().toDate()java.time.LocalDateTimeがtoDate()メソッドを提供していないのはなぜですか?

なぜjava.time.にこのような方法がありますか? java.time.LocalDateTimejava.util.dateに変換する最良の方法は何ですか?

私は次のようにすることができますが、それは正しいと感じていません。

java.time.LocalDateTime date; 
java.util.Date.from(date.atZone(ZoneId.systemDefault()).toInstant()); 

java.util.Dateはまだ休止経由のpostgresのデータベースのマッピングと同様に、システムの多くで使用されているので、私は聞いていますのよ。

+2

['LocalDateTime'](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html)はそのような時間ではありません。それは無限の日付です(2016年5月12日13:45など)、時間帯なしの時代からそれを評価することは不可能です。したがって、あなたの解決策は、あなたが「日付」を必要とするならば最もきれいです。 ['DateTime'](http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html)はむしろ異なるものです... –

答えて

5

java.time.* JSR-310パッケージには、java.util.DateまたはCalendarへの参照が含まれていません。これにより、古いタイプは将来廃止され、削除されます。

theseanswersのように、古い形式と新しい形式の間の変換が可能です。 「ローカル」の日付時刻を「インスタント」に変換することは常に難しく、ヘルパーメソッドが多すぎると変換の重要な詳細が不明瞭になる可能性があります。

関連する問題