簡體   English   中英

將java.time轉換為Calendar

[英]Converting java.time to Calendar

java.time.Instantjava.time.ZonedDateTime獲取Calendar對象的最簡單方法是什么?

如果您知道存在GregorianCalendar#from(ZonedDateTime)方法的GregorianCalendar#from(ZonedDateTime) ,那么從ZonedDateTime獲取Calendar即時非常簡單。 Threeten-dev郵件組中討論了為什么該方法不在Calendar類中。 雖然不是很深入的討論。

但是,沒有直接的方法可以從Instant轉換為Calendar 你必須有一個中間狀態:

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

這可能是因為,從這個oracle教程的表中可以看出, Instant映射到Date而不是Calendar 同樣, ZonedDateTime映射到Calendar

您需要使用瞬間獲取TimeZone,然后您才能獲得日歷。

Calendar myCalendar = GregorianCalendar.from(ZonedDateTime.ofInstant(Instant.now(), ZoneId.systemDefault()));

GregorianCalendar.from(ZonedDateTime.ofInstant(instant, zoneId))怎么樣?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM