Java 8で日付と時刻をカスタム形式に変換する方法


  1. DateTimeFormatterを使用する方法: Java 8では、新たに導入されたDateTimeFormatterクラスを使用して、日付と時刻のフォーマットを指定することができます。
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DateTimeFormatExample {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
        String formattedDateTime = now.format(formatter);
        System.out.println(formattedDateTime);
    }
}

上記の例では、現在の日時を"yyyy/MM/dd HH:mm:ss"の形式で表示しています。

  1. SimpleDateFormatを使用する方法: Java 8以前のバージョンでは、SimpleDateFormatクラスを使用して日付と時刻をカスタム形式に変換する方法が一般的でした。
import java.util.Date;
import java.text.SimpleDateFormat;
public class DateTimeFormatExample {
    public static void main(String[] args) {
        Date now = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        String formattedDateTime = formatter.format(now);
        System.out.println(formattedDateTime);
    }
}

上記の例では、現在の日時を"yyyy/MM/dd HH:mm:ss"の形式で表示しています。

  1. StringBuilderを使用して手動でフォーマットする方法: Java 8以前のバージョンや特定の要件に応じて、StringBuilderクラスを使用して日付と時刻を手動でフォーマットすることもできます。
import java.util.Calendar;
public class DateTimeFormatExample {
    public static void main(String[] args) {
        Calendar now = Calendar.getInstance();
        StringBuilder formattedDateTime = new StringBuilder();
        formattedDateTime.append(now.get(Calendar.YEAR)).append("/");
        formattedDateTime.append(now.get(Calendar.MONTH) + 1).append("/");
        formattedDateTime.append(now.get(Calendar.DAY_OF_MONTH)).append(" ");
        formattedDateTime.append(now.get(Calendar.HOUR_OF_DAY)).append(":");
        formattedDateTime.append(now.get(Calendar.MINUTE)).append(":");
        formattedDateTime.append(now.get(Calendar.SECOND));
        System.out.println(formattedDateTime.toString());
    }
}

上記の例では、現在の日時を"yyyy/MM/dd HH:mm:ss"の形式で表示しています。

これらはいくつかのJava 8での日付と時刻のカスタム形式への変換方法の例です。必要に応じて、これらの例をベースにカスタマイズすることができます。