常用格式化
DateTimeFormatter是java8的新特性,是线程安全的。
对时区的支持也比较好。
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("EE yyyy-MM-dd hh:mm:ss");
String format = dateTimeFormatter.format(datetime);
System.out.println(format);
// Locale.US 的作用是格式化时,会按照当地的习惯来格式化,如中国是 星期日,美国是Sun
DateTimeFormatter us = DateTimeFormatter.ofPattern("EE yyyy-MM-dd hh:mm:ss",Locale.US);
String us_format = us.format(datetime);
System.out.println(us_format);
DateTimeFormatter自带很多常用的格式化,如:
//datetime,date,time
LocalDateTime now = LocalDateTime.now();
System.out.println(DateTimeFormatter.ISO_DATE_TIME.format(now));
System.out.println(DateTimeFormatter.ISO_DATE.format(now));
System.out.println(DateTimeFormatter.ISO_TIME.format(now));
//local datetime,date,time
System.out.println(DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(now));
System.out.println(DateTimeFormatter.ISO_LOCAL_DATE.format(now));
System.out.println(DateTimeFormatter.ISO_LOCAL_TIME.format(now));
//毫秒
Instant now_instance = Instant.now();
System.out.println(DateTimeFormatter.ISO_INSTANT.format(now_instance));
自定义格式化
public static final DateTimeFormatter formatter;
static{
formatter =
new DateTimeFormatterBuilder()
.appendOptional(DateTimeFormatter.ofPattern("yyyyMM"))
.toFormatter();
}
public static void main(String[] args) {
String format = formatter.format(LocalDateTime.now());
System.out.println(format);
}