We were faliing in some time zones. This is Jakub's code, tested by
me.
Andrew.
2007-02-09 Jakub Jelinek <[EMAIL PROTECTED]>
* java/util/TimeZone.java: Handle default (one hour) daylight
savings.
Index: java/util/TimeZone.java
===================================================================
--- java/util/TimeZone.java (revision 121750)
+++ java/util/TimeZone.java (working copy)
@@ -977,7 +977,14 @@
if (index < idLength)
index--;
- { // convert the dst string to a millis number
+ if (index == prevIndex && (c == ',' || c == ';'))
+ {
+ // Missing dst offset defaults to one hour ahead of standard
+ // time.
+ dstOffs = stdOffs + 60 * 60 * 1000;
+ }
+ else
+ { // convert the dst string to a millis number
String offset = sysTimeZoneId.substring(prevIndex, index);
prevIndex = index;
@@ -991,7 +998,7 @@
// TZ timezone offsets are positive when WEST of the meridian.
dstOffs = -dstOffs;
- }
+ }
// Done yet? (Format: std offset dst offset)
// FIXME: We don't support DST without a rule given. Should we?