如何将java.time.temporal.Temporal实例转换为java.util.Date实例?

java.time.temporal.Temporal someTemporal = Instant.now();
java.util.Date some Temporal = x(someTemporal);

我看过Oracle's legacy time trail documentation,但是找不到合适的解决方案。

最佳答案

我强烈建议您省略对(太)通用接口java.time.temporal.Temporal的任何引用,然后执行以下操作:

java.util.Date some = java.util.Date.from(Instant.now());

使用Temporal接口几乎就像使用java.lang.Object一样。您应该尽可能具体(尤其是在日期和时间的背景下)。甚至JSR-310-API officially outputs a warning:

此接口是框架级别的接口,不应
在应用程序代码中广泛使用。相反,应用程序应创建
并传递具体类型的实例,例如LocalDate。那里
原因很多,其中一部分是
此接口可能在ISO以外的日历系统中。看到
ChronoLocalDate对问题进行了更全面的讨论。

07-24 21:46