Java 8では新しいjava.time日付と時刻を操作するためのAPI(JSR310)。
日付と時刻を文字列として持っています(例"2014-04-08 12:30"
:)。どうすれば取得できますか?LocalDateTime
指定された文字列からインスタンスを取得しますか?
オブジェクトの操作が完了したら、インスタンスを上記と同じ形式の文字列に戻すにLocalDateTime
はどうすればよいでしょうか?LocalDateTime
ベストアンサー1
日付と時刻の解析
文字列からオブジェクトを作成するには、LocalDateTime
staticを使用します。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
)で使用できます。