java - Compatibility between Instant and ZonedDateTime -
it understanding zoneddatetime
enhanced version of instant
. has data instant
has (precise value along utc timeline), plus time zone information. naïve assumption zoneddatetime
is-an instant
, method taking instant
happily take zoneddatetime
instead. furthermore, expected isbefore()
, isafter()
etc. work seamlessly between instant
s , zoneddatetime
s.
looking @ api documentation instant
, zoneddatetime
, none of case. can compare instant
s instant
s , zoneddatetime
s zoneddatetime
s, 2 classes seem incompatible. what's more, third-party code threeten-extra's interval
seem work exclusively instant
s.
is there reason why instant
, zoneddatetime
not meant mixed?
because translation not injective. take sunday, october 30th 2016 2:15 in germany/munich example: instant
date/time represent? not independently answerable without assumptions because don't know if time should translated instant
before or after offset daylight saving time (dst) should applied. or sunday, march 27th 2016 2:15 in germany/munich: date/time combination should not exist, clock should set 3 when reaching 2 am.
without dst 3 possible cases translating localdatetime
instant
(exact match, summertime-gap, wintertime-overlap) reduced 1 , conversion injective, afaik.
edit: "hands on" problem, when displaying date/time in our jsf based application, always pass offset calculated accordingly current state of dst formatter.
Comments
Post a Comment