LocalDateTime で日付を解析/フォーマットするにはどうすればよいですか? (Java 8) 質問する

LocalDateTime で日付を解析/フォーマットするにはどうすればよいですか? (Java 8) 質問する

Java 8では新しいjava.time日付と時刻を操作するためのAPI(JSR310)。

日付と時刻を文字列として持っています(例"2014-04-08 12:30":)。どうすれば取得できますか?LocalDateTime指定された文字列からインスタンスを取得しますか?

オブジェクトの操作が完了したら、インスタンスを上記と同じ形式の文字列に戻すにLocalDateTimeはどうすればよいでしょうか?LocalDateTime

ベストアンサー1

日付と時刻の解析

文字列からオブジェクトを作成するには、LocalDateTimestaticを使用します。LocalDateTime.parse()メソッドです。文字列とDateTimeFormatterパラメータとして。DateTimeFormatter日付/時刻パターンを指定するために使用されます。

String str = "1986-04-08 12:30";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);

日付と時刻の書式設定

オブジェクトからフォーマットされた文字列を作成するには、メソッドLocalDateTimeを使用できますformat()

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime dateTime = LocalDateTime.of(1986, Month.APRIL, 8, 12, 30);
String formattedDateTime = dateTime.format(formatter); // "1986-04-08 12:30"

では、よく使用される日付/時刻形式が定数として事前定義されていることに注意してくださいDateTimeFormatter。たとえば、 を使用して上記のインスタンスDateTimeFormatter.ISO_DATE_TIMEをフォーマットすると、LocalDateTime文字列 になります"1986-04-08T12:30:00"

parse()およびメソッドformat()は、すべての日付/時刻関連オブジェクト (例:LocalDateまたはZonedDateTime)で使用できます。

おすすめ記事