此问题已经在这里有了答案:
在Java 11中,我正在尝试将现有格式为yyyy-mm-ddThh:mm:ss的现有LocalDateTime对象格式化为YYYYMMDDHHMMSS格式。
这是我的代码
x.getLocalDateTime() // 2019-11-14T13:23:27 (The existing date I want to change the format too.)
x.getLocalDateTime().format(DateTimeFormatter.ofPattern("YYYYMMDDHHMMSS")) // This expression gives me the incorrect result of 201911418131100
我做错了什么?
对于某些图案字母,请使用小写字母。
将“ YYYYMMDDHHMMSS”更改为“ YYYYMMddHHmmss”。
从java.time.format.DateTimeFormatter的API文档中,这些是您想要的模式字母:
d Day in month
m Minute in hour
s Second in minute
但是大写版本还有其他功能:
D Day in year
M Month in year (context sensitive)
S Millisecond