将 java.util.Date 转换为 LocalDate

Convert java.util.Date to LocalDate

我必须将 java.util.Date 转换为 LocalDate。我从这里偷了例子:Convert java.util.Date to java.time.LocalDate

但注意到了一些奇怪的事情。

当我只使用 new LocalDate() 时,我在调试器中看到:

但是当我这样做的时候: date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate() 然后在调试器中我看到:

所以代替 iLocalMillisyear 等等。这给我以后带来了问题。为什么?我可以在转换后获得与 new LocalDate() 中完全相同的详细信息吗?

第一个快照中的字段匹配 org.joda.time.LocalDate class.

的内部结构

第二个快照中的字段匹配 java.time.LocalDate class.

的内部结构

所以您在代码中混合了两种不同的 LocalDate class。