Hi Okutsu-san,
Thank you for your proposal. Yes, the TimeZone class has some built-in assumptions which cause many problems. I had been planning to introduce some methods, one of which is very similar to your proposal, mainly for fixing the disambiguation problem during the standard-daylight transitions.
Thanks for the information. It would be great to have the problems resolved in JDK 7.
I once went through the ambiguous wall time problems at transitions. I found several tricky cases other than annual daylight->standard transitions.
1) Negative raw offset shift. For example, GMT-05:00(standard) to GMT-06:00(standard).
2) Negative daylight saving amount change. There were some zones used "double summer time" in the past. Transition from "double summer time" to regular summer time created ambiguous time range.
3) Positive offset change at daylight->standard transition. For example, America/Nome at Oct 30, 1983 - GMT-10:00(daylight) to GMT-09:00(standard).
My conclusion was that adding a flag indicating standard time or daylight saving time was not enough to resolve ambiguous wall time problems. We implemented such feature in ICU, but not exposed yet.
Yoshito Umaoka (ICU Project)