【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()メソッドで変換することができます。







コメントを残す