Java 8でLocalDateTimeをフォーマットする方法

java.time.LocalDateTime クラスは、formatメソッドとFormatterを使用してフォーマットできます。

構文:

LocalDateTime ldt = LocalDateTime.now();
String formattedDate3 = ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm a"));

例:

次の例では、LocaDateTimeをnowを使用して作成します。 その後、ISO_DATE_TIME、24Hフォーマット、および12Hフォーマットでフォーマットします。 出力はSystem outに書き込まれます。 12時間フォーマットではなく、AMまたはPMであることを示すためにフォーマットにaが追加されます。

次のJavaファイルを作成します。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class LocalDateTimeTest {

    public static void main(String[] argv) {
	LocalDateTime ldt = LocalDateTime.now();

	String formattedDateIso = ldt.format(DateTimeFormatter.ISO_DATE_TIME);

	String formattedDate2 = ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
	String formattedDate3 = ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm a"));

	System.out.println("Date in iso format: " + formattedDateIso);
	System.out.println();
	System.out.println("Date in 24H format: " + formattedDate2);
	System.out.println("Date in 12H format: " + formattedDate3);
    }
}


出力は次のようになります。

Date in iso format: 2017-10-13T16:48:25.227

Date in 24H format: 2017-10-13 16:48:25
Date in 12H format: 2017-10-13 04:48 PM

参考文献:

Lambda Expressions