Java独学で勉強中の超初心者です。
Java独学で勉強中の超初心者です。 支離滅裂かもしれませんが教えていただきますと幸いです。 SimpleDateFormatと、DateTimeFormatのちがいがわかりません。それぞれどのような場合に使用するのか併せて教えていただけますと助かります。
Java・6閲覧
ベストアンサー
DateTimeFormat = DateTimeFormatterのことだと仮定して回答します。 SimpleDateFormatの方が古くからあり、それをブラッシュアップする形でJava8からDateTimeFormatterが登場した感じです。 変わったのは主に4つ。 1.日付チェックが厳密になった 2.スレッドセーフになった 3.速度の向上 4.使い方が変わった 1.日付チェックが厳密になった SimpleDateFormatは一部日付のチェックが甘いところがあるみたいです。 たとえば、"2021/03/1A"を日付型に変換すると2021年3月1日として通ってしまうとか。 DateTimeFormatterでは、こういったものもきちんとエラーとして扱われるようになってるみたいです。 2.スレッドセーフになった SimpleDateFormatはスレッドセーフではなかったようです。 たとえば、日付の変換をマルチスレッドで回すと、一部おかしなデータが出てくるとか。 DateTimeFormatterはスレッドセーフになり、こういった問題が解決されたみたいです。 3.速度の向上 これは単純です。処理が速くなりました。 4.使い方が変わった 普通の人にはこれが一番大きな変更点だと思います。 インスタンスの作り方、日付型へ変換した時の型などが変わりました。 特に理由がない限り、DateTimeFormatterを使えばいいと思いますが。
1人がナイス!しています
質問者からのお礼コメント
大変わかりやすく教えていただきましてありがとうございました。おかげ様で、引っ掛かっていた所が解決しました!!
お礼日時:3/2 7:58