Java 8 - LocalDateTimeのフォーマット方法

Java 8 – LocalDateTimeのフォーマット方法

Java 8でjava.time.LocalDateTimeをフォーマットする方法を示すいくつかの例。

1. LocalDateTime + DateTimeFormatter

LocalDateTimeオブジェクトをフォーマットするには、DateTimeFormatterを使用します

TestDate1.java

package com.example.time;

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

public class TestDate1 {
    public static void main(String[] args) {

        //Get current date time
        LocalDateTime now = LocalDateTime.now();

        System.out.println("Before : " + now);

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

        String formatDateTime = now.format(formatter);

        System.out.println("After : " + formatDateTime);

    }
}

出力

Before : 2016-11-09T11:44:44.797

After  : 2016-11-09 11:44:44

2. 文字列→LocalDateTime

文字列をLocalDateTimeに変換する別の例

TestDate2.java

package com.example.time;

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

public class TestDate2 {
    public static void main(String[] args) {

        String now = "2016-11-09 10:30";

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");

        LocalDateTime formatDateTime = LocalDateTime.parse(now, formatter);

        System.out.println("Before : " + now);

        System.out.println("After : " + formatDateTime);

        System.out.println("After : " + formatDateTime.format(formatter));

    }
}

出力

Before : 2016-11-09 10:30

After : 2016-11-09T10:30

After : 2016-11-09 10:30