日期时间格式

在 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 肯定会对你有所帮助。