質問: Java独学で勉強中の超初心者です。
回答: 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を使えばいいと思いますが。