日期時間格式

在 Java 8 之前,包 java.text 中有 DateFormatSimpleDateFormat 類,這些遺留程式碼將繼續使用一段時間。

但是,Java 8 提供了一種處理格式化和解析的現代方法。

在格式化和解析時,首先將 String 物件傳遞給 DateTimeFormatter,然後將其用於格式化或解析。

import java.time.*;
import java.time.format.*;

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

        //Parsing
        String pattern = "d-MM-yyyy HH:mm";
        DateTimeFormatter dtF1 = DateTimeFormatter.ofPattern(pattern);

        LocalDateTime ldp1 = LocalDateTime.parse("2014-03-25T01:30"), //Default format
                      ldp2 = LocalDateTime.parse("15-05-2016 13:55",dtF1); //Custom format

        System.out.println(ldp1 + "\n" + ldp2); //Will be printed in Default format

        //Formatting
        DateTimeFormatter dtF2 = DateTimeFormatter.ofPattern("EEE d, MMMM, yyyy HH:mm");
        
        DateTimeFormatter dtF3 = DateTimeFormatter.ISO_LOCAL_DATE_TIME;

        LocalDateTime ldtf1 = LocalDateTime.now();

        System.out.println(ldtf1.format(dtF2) +"\n"+ldtf1.format(dtF3));
    }
}

這是一個重要的注意事項,而不是使用自定義模式,最好使用預定義的格式化程式。你的程式碼看起來更清晰,從長遠來看,使用 ISO8061 肯定會對你有所幫助。