jdk版本:1.8.0_91
/**
* 日期格式化对象
*/
final DateTimeFormatter localDateTimeFormatter = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.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)
.optionalStart()
.appendLiteral(':')
.appendValue(SECOND_OF_MINUTE, 2)
.optionalStart()
.appendFraction(
// 追加的类型为纳秒
NANO_OF_SECOND,
// 最短长度,如果为毫秒,则设置为0~3;如果为微秒,则设置为0~6;如果为纳秒,则设置为0~9。
9,
// 最长长度,设置同上。但不能比最短长度小。
9,
// 是否使用小数点
true
)
.toFormatter();
// 如果最短长度小于最长长度,假设当前的纳秒时间为 “2022-12-14 10:14:55.171000000”,
// 最短长度为 3,最长长度为 9,则输出 “2022-12-14 10:14:55.171”
System.out.println(LocalDateTime.now().format(localDateTimeFormatter));