【Java】String型⇔LocalDateに変換する方法
LocalDateはタイムゾーンを持たない日時を表すクラスのためデータの持ち方は以下となります。
// LocalDateのデータの持ち方 yyyy-MM-dd 2023年12月2日のデータを取得した場合 LocalDate WK年月日 = LocalDate.now(); System.out.println(WK年月日); // 実行結果 2023-12-02
String型⇔LocalDateに変換するには以下のように実装すれば変換可能です
- JavaでString型からLocalDataに変換するには、format(DateTimeFormatter.ofPattern(“yyyyMMdd”))にてString型の文字列をLocalDataに変換することができます。
- JavaでLocalDataからString型に変換するには、toString()あるいはparse(変換元文字列, DateTimeFormatter.ofPattern(“yyyyMMdd”)にてLocalDataをString型の文字列に変換することができます。
// String型からLocalDataに変換 String 年月日 = "20240101"; LocalDate LDate = LocalDate.parse(年月日, DateTimeFormatter.ofPattern("yyyyMMdd")); System.out.println(LDate); // 実行結果 2024-01-01
String型からLocalDataに変換する際の文字列とofPatternで指定値は一致させる必要があります。上記サンプルプログラムの場合、String 年月日はyyyyMMddとなっていますが、ofPatternの指定を(“yyyy-MM-dd”)とすると一致しないためjava.time.format.DateTimeParseExceptionとなります。
// 2023年12月2日に実施 LocalDate WK年月日 = LocalDate.now(); String SDate = WK年月日.format(DateTimeFormatter.ofPattern("yyyyMMdd")); String SDate2 = WK年月日.toString(); System.out.println(SDate); System.out.println(SDate2); // 実行結果 20231202 2023-12-02
LocalDateのデータの持ち方 yyyy-MM-ddですがofPatternで指定のフォーマットに変換することができます。また、単純にString型へ変換する場合はtoString()メソッドで変換することができます。
コメントを残す