Calendarjava.time.Instant获取java.time.ZonedDateTime对象的最简单方法是什么?

最佳答案

如果您知道存在 Calendar 方法,则从ZonedDateTime获取GregorianCalendar#from(ZonedDateTime)即时消息非常简单。 Threeten-dev mail group中进行了讨论,说明为什么该方法不在Calendar类中。虽然不是很深入的讨论。

但是,没有直接的方法可以从Instant转换为Calendar。您必须具有一个中间状态:

Instant instant = Instant.now();
ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.systemDefault());
Calendar cal1 = GregorianCalendar.from(zdt);

this oracle tutorial上的表可以明显看出,这可能是因为Instant映射到Date而不是Calendar。同样,ZonedDateTime映射到Calendar

关于java - 将java.time转换为Calendar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28779179/

10-13 08:25