2016-05-24 2 views
2

DateTimeFormatterをDateFormatに変換するにはどうすればよいですか? DateTimeFormatterをDateFormatにキャストしたいですか?出来ますか ?DateTimeFormatterからDateFormatへの変換

私はDateTimeFormatterのオブジェクトを持っており、パラメータがDateFormatだけを受け付けるメソッドに渡したいと思います。

+0

どのような方法で必要なのですかDateFormat? おそらくあなたのパラメータがDateTimeFormatterである適切なメソッドを見つけるべきでしょうか? –

+0

DateTimeFormatterをjava.text.Formatに変換するには、次のようにします。java.text.Format oldformat = dateTimeFormatter.toFormat(); – Ben

+0

@ben class docへのリンクを提供できますか?そのようなメソッドは、DateFormatまたはSimpleDateFormatのいずれにも表示されません。 –

答えて

3

java.time.format.DateTimeFormatterから古いフォーマッタクラスへの逆変換はありません。

新しいjava.timeクラスは、古いものに取って代わるものです。これらは、混在または相互運用するためのものではありません。古い日時クラスは、設計が難しく、混乱し、面倒であることが証明されています。

前方に移動し、ない後方

のJavaの最初のバージョンに同梱古い日付時刻クラスは今遺産です。 java.util.Date/.Calendarやjava.text.DateFormat/.SimpleDateFormatなどのクラスは避けるべきです。

これらの古いクラスは、Java 8以降に組み込まれたjava.timeフレームワークに取って代わりました。その機能の多くは、ThreeTen-BackportプロジェクトのJava 6 & 7にバックポートされ、さらにThreeTenABPプロジェクトのAndroidに適応しています。

代わりにに行ってください。古い日時オブジェクトを現代のjava.timeクラスに変換します。データの変換を容易にするために、古いクラスに新しいメソッドが追加されました。

java.util.Dateをお持ちの場合は、toInstant()を呼び出してください。 java.util.Calendarオブジェクトがある場合は、ZonedDateTimeに変換します。

my Questionmy Answer with nifty diagram of typesを参照してください。

+1

はい、この質問のような 'DateFormat'を使ってAPI(jackson-databind)を使用しているときに何をすればいいでしょう:http://stackoverflow.com/questions/39955104/using-datetimeformatter-with-objectmapper –

関連する問題