📅  最后修改于: 2023-12-03 15:16:29.575000             🧑  作者: Mango
DateTimeFormatterBuilder
类是Java 8中java.time.format
包中的一个类,用于创建和定制DateTimeFormatter
日期时间格式化对象。DateTimeFormatter
类是线程安全的,可重用的对象,用于格式化日期时间字符串为日期、时间和日期时间对象。
DateTimeFormatter
要创建一个DateTimeFormatter
对象,我们需要使用DateTimeFormatterBuilder
类。以下示例演示了使用DateTimeFormatterBuilder
类来创建一个自定义日期时间格式的DateTimeFormatter
对象。
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendLiteral("The date is ")
.appendValue(MONTH_OF_YEAR, 2)
.appendLiteral('/')
.appendValue(DAY_OF_MONTH, 2)
.appendLiteral('/')
.appendValue(YEAR, 4)
.appendLiteral(", and the time is ")
.appendValue(HOUR_OF_DAY, 2)
.appendLiteral(':')
.appendValue(MINUTE_OF_HOUR, 2)
.appendLiteral(':')
.appendValue(SECOND_OF_MINUTE, 2)
.toFormatter();
以上代码将创建一个自定义日期时间格式的DateTimeFormatter
对象,格式为The date is MM/DD/YYYY, and the time is HH:mm:ss
。
DateTimeFormatter
DateTimeFormatterBuilder
类提供了一系列方法,允许我们定制DateTimeFormatter
对象的各个方面,例如:
appendPattern(String pattern)
:使用ISO-8601日期时间格式的字符串模式添加格式。
appendValue(TemporalField field, int width)
:添加指定的TemporalField
(例如年、月、日、时、分等)的值,并指定其宽度。
appendLiteral(char literal)
:添加指定的字面量字符。
以下示例演示了如何使用DateTimeFormatterBuilder
对象定制一个日期时间格式的DateTimeFormatter
对象。
// 字符串模式:yyyy-MM-dd HH:mm:ss
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendValue(YEAR, 4)
.appendLiteral('-')
.appendValue(MONTH_OF_YEAR, 2)
.appendLiteral('-')
.appendValue(DAY_OF_MONTH, 2)
.appendLiteral(' ')
.appendValue(HOUR_OF_DAY, 2)
.appendLiteral(':')
.appendValue(MINUTE_OF_HOUR, 2)
.appendLiteral(':')
.appendValue(SECOND_OF_MINUTE, 2)
.toFormatter();
可以使用DateTimeFormatter
类的parse(CharSequence text)
方法将字符串解析为日期时间对象。
String dateTimeStr = "2022-02-22 22:22:22";
LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, formatter);
以上代码将解析日期时间字符串为LocalDateTime
对象。
可以使用DateTimeFormatter
类的format(TemporalAccessor temporal)
方法将TemporalAccessor
(例如LocalDateTime
)对象格式化为字符串。
LocalDateTime dateTime = LocalDateTime.of(2022, 2, 22, 22, 22, 22);
String dateTimeStr = formatter.format(dateTime);
以上代码将格式化LocalDateTime
对象为字符串2022-02-22 22:22:22
。
DateTimeFormatterBuilder
类是Java 8中java.time.format
包中的一个类,用于创建和定制DateTimeFormatter
日期时间格式化对象。可以使用DateTimeFormatter
对象的parse()
方法将字符串解析为日期时间对象,也可以使用format()
方法将日期时间对象格式化为字符串。DateTimeFormatter
类是线程安全的,可重用的对象,用于格式化日期时间字符串为日期、时间和日期时间对象。