DateTimeFormatter时间格式化

DateTimeFormatter类提供了三种时间格式化方法。

默认格式
1
2
3
4
5
6
7
8
9
10
11
public void test1() {
// 1.新建一个DateTimeFormatter对象
DateTimeFormatter isoDate = DateTimeFormatter.ISO_DATE;

LocalDateTime ldt1 = LocalDateTime.now();

// 2.调用该对象的format方法,参数是需要格式化的LocalDateTime对象。
String format = isoDate.format(ldt1);

System.out.println("时间是:" + format);
}
自定义格式
1
2
3
4
5
6
7
8
9
public void test2() {
// 1.新建一个DateTimeFormatter对象,调用ofPattern方法。
DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒", Locale.CHINA);

// 2.调用该对象的format方法,参数是需要格式化的LocalDateTime对象。
String format = pattern.format(LocalDateTime.now());

System.out.println("时间是:" + format);
}
自定义格式时间解析
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void test3() {
// 1.新建一个时间的字符串对象。
String dateTime = "2020年02月12日 22点22分22秒";

// 2.新建一个DateTimeFormatter对象,调用ofPattern方法。
DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH点mm分ss秒");

// 3.调用DateTimeFormatter对象的parse方法,进行解析,返回一个TemporalAccessor对象。
TemporalAccessor parse = pattern.parse(dateTime);

// 4.调用LocalDateTime的静态方法form,将TemporalAccessor转换成LocalDateTime对象。
LocalDateTime ldt1 = LocalDateTime.from(parse);

System.out.println("LocalDateTime:" + ldt1);
System.out.println("LocalDateTime:" + LocalDateTime.now());
}
输出结果
1
2
3
4
时间是:2020-02-14
时间是:2020年02月14日 16时30分55秒
LocalDateTime:2020-02-12T22:22:22
LocalDateTime:2020-02-14T16:30:55.544