您应该期望输出之间的差异
LocalDateTime dateLDT = LocalDateTime.parse(dateFormatted, f);System.out.println(dateLDT);
和
System.out.println(dateLDT.format(f)) //or f.format(dateLDT)
System.out.println(dateLDT);打印的值
dateLDT.toString(),预计不会产生与图案相同的输出。
当您查看时
LocalDateTime.toString(),您会看到它将时间部分委托给
LocalTime.toString(),这将有条件地显示秒:
public String toString() { ... if (secondValue > 0 || nanoValue > 0) { buf.append(secondValue < 10 ? ":0" : ":").append(secondValue); ... } } return buf.toString();}如果其值为,则仅忽略秒字段
0。
在这种情况下,
DateTimeFormatter如果必须确定输出/输入格式,则始终使用a 格式化日期。



