[threeten-dev] 64bit tzdata?
yoshito_umaoka at us.ibm.com
yoshito_umaoka at us.ibm.com
Tue Dec 18 20:46:25 PST 2012
Okutsu-san,
Thank you for explaining some background.
> > As far as I know, current Java releases use 32bit tzdata (effective
> > between 1901-12-13T20:45:52Z and 2038-01-19T03:14:07Z)
>
> JDK uses SimpleTimeZone for DST rules with "max" beyond 2038. It doesn't
> have problems with future dates except for the limitations coming from
> the SimpleTimeZone API.
>
> > and offsets
Right. I agree that it's not a major concern at this point.
> > returned by java.util.TimeZone for dates before 1900 does not match
the tz
> > database in many cases.
>
> There were some customer codes which assumed consistent GMT offsets for
> old dates. In other words, apps assumed the SimpleTimeZone-based time
> zone support. I didn't want to break those apps back in 2000, which is
> the reason why JDK didn't introduce support for LMT.
I guessed this was the intent.
However, it also introduced artificial transition at 1900-01-01T00:00Z
(not local time) that is a little bit difficult to understand.
Also, I suspect offset before 1900 was hardcoded somewhere and it's not
necessarily matches the current GMT raw offset. (For example, Asia/Dili
before 1900 returns +8 hours, while the zone uses +9 hours since Sep
2000...)
Anyway, I just want to clarify if this hack will be gone with the new
JSR-310 implementation.
Thanks,
Yoshito
More information about the threeten-dev
mailing list