SimpleDateFormat.java (parse): Clear DST_OFFSET and ZONE_OFFSET just before computing...
authorTom Tromey <tromey@redhat.com>
Mon, 14 May 2001 17:40:29 +0000 (17:40 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Mon, 14 May 2001 17:40:29 +0000 (17:40 +0000)
* java/text/SimpleDateFormat.java (parse): Clear DST_OFFSET and
ZONE_OFFSET just before computing the time.

From-SVN: r42076

libjava/ChangeLog
libjava/java/text/SimpleDateFormat.java

index 56784e0dbe31d2ec80bb597e20cc951c8b684fd0..e7baaadcb57f61f8573ec5cdc9ffdd46c4a4a0f9 100644 (file)
@@ -1,3 +1,8 @@
+2001-05-14  Tom Tromey  <tromey@redhat.com>
+
+       * java/text/SimpleDateFormat.java (parse): Clear DST_OFFSET and
+       ZONE_OFFSET just before computing the time.
+
 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
 
        * Makefile.am (libgcj_la_OBJECTS): Remove libsupc++convenience.la.
index f0976054c632909f31a779cf0da2adee024914e3..5b366389c5dce591be96180bfe77ded4aa4213b9 100644 (file)
@@ -655,8 +655,6 @@ public class SimpleDateFormat extends DateFormat
                    found_zone = true;
                    TimeZone tz = TimeZone.getTimeZone (strings[0]);
                    theCalendar.setTimeZone (tz);
-                   theCalendar.clear (Calendar.DST_OFFSET);
-                   theCalendar.clear (Calendar.ZONE_OFFSET);
                    pos.setIndex(index + strings[k].length());
                    break;
                  }
@@ -709,6 +707,10 @@ public class SimpleDateFormat extends DateFormat
 
     try
       {
+       // Clear calendar fields here to force getTime() to correctly
+       // respect DST in the timezone.
+       theCalendar.clear (Calendar.DST_OFFSET);
+       theCalendar.clear (Calendar.ZONE_OFFSET);
         return theCalendar.getTime();
       }
     catch (IllegalArgumentException x)