3 格式化和解析

Wu Jun 2020-02-15 20:12:56
05 Java > 00 Java 基础 > 13 日期和时间

DateTimeFormatter类提供了三种打印日期/时间值的格式器

1 预定义格式器

String formatted = DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(apollo11launch);
//1969-07-16T09:32:00-04-00"

2 Locale 相关格式器

2.1 创建格式器

ofLocalizedDate、ofLocalizedTime 和 ofLocalizedDateTime

DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);

2.2 格式化

String formatted = formatter.format(apollo11launch);
//July 16, 1969 9:32:00 AM EDT

2.3 换 Locale

withLocale

formatted = formatter.withLocale(Locale.FRENCH).format(apollo11launch);

3 定制的格式器

3.1 创建格式器

ofPattern

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssxx");

3.2 解析

parse

LocalDate today = LocalDate.now();
String date = today.format(formatter);


ZonedDateTime.parse("1969-07-16 09:32:00-0400", formatter);