日期时间格式
在 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 肯定会对你有所帮助。