日期時間格式
在 Java 8 之前,包 java.text
中有 DateFormat
和 SimpleDateFormat
類,這些遺留程式碼將繼續使用一段時間。
但是,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 肯定會對你有所幫助。