【Java】String型からLocalDateTime型へ変換する方法(LocalDateTime.parse()メソッド)について解説

String型の日付をLocalDateTimeクラスの日付型に変換するには、
LocalDateTimeクラスのparseメソッドを使用します。
そして、引数に文字列とDateTimeFormatterクラスのオブジェクトを指定すれば、
日付をLocalDateTimeのオブジェクトとして生成できます。

LocalDateTime.parse()メソッドの使い方

宣言の仕方

まず、LocalDateTimeをインポートします。

LocalDateTime.parse()を使ってLocalDateTime型へ変換します。

するとこのようなコードになります。

出力結果

LocalDateTime : 2020-12-30T19:34:50.630

これで、LocalDateTime型へ変換することができました。
しかし、変換する前と同じ値である為、本当に変換されたのか?と疑問を抱く方もいらっしゃると思います。
ですので一度確認として、変数dateに文字列を格納してみましょう。

出力結果

 Main.java:11: error: incompatible types: String cannot be converted to LocalDateTime

dateはLocalDateTime型ですので、文字列を格納するとエラーになります。
つまり、LocalDateTime.parse()メソッドを使うことで、String型からLocalDateTime型へ変換できたことになります。

コードを書いて実行してみる

実際にコードを書いて実行してみましょう。
先ほどは「2020-12-30T19:34:50.63」と表示されましたが、日付としては分かりにくい表示となっていました。
ですので、次はDateTimeFormatterを使って日付のフォーマットを設定して分かりやすい日付の表示をしてみましょう。
使い方はDateTimeFormatterをインポートし、ofPattern()メソッドを使ってフォーマットを設定します。
それでは、コードを見てみます。

出力結果

2020/06/17 10:00:00

「2020-12-30T19:34:50.63」ではなく「2020/06/17 10:00:00」という分かりやすい日付表示になりました。
なぜなら、DateTimeFormatterをインポートすることで、ofPattern()メソッドの使用が可能になり、
変換した日付を表示するフォーマットを設定できるようになったからです。
ですので、String型からLocalDateTimeへ変換する時は、DateTimeFormatterをインポートして
分かりやすい日付けに直して表示することをおすすめします。

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報