本サイトはプロモーション(広告)が含まれています。

【Java】String型⇔LocalDateに変換する方法

【Java】String型⇔LocalDateに変換する方法

 LocalDateはタイムゾーンを持たない日時を表すクラスのためデータの持ち方は以下となります。

// LocalDateのデータの持ち方
yyyy-MM-dd

2023年12月2日のデータを取得した場合

LocalDate WK年月日 = LocalDate.now();
System.out.println(WK年月日);

// 実行結果
2023-12-02

String型⇔LocalDateに変換するには以下のように実装すれば変換可能です

  1. JavaでString型からLocalDataに変換するには、format(DateTimeFormatter.ofPattern(“yyyyMMdd”))にてString型の文字列をLocalDataに変換することができます。
  2. 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()メソッドで変換することができます。

Javaの記事一覧へ

PAGE TOP