SimpleDateFormat.java (parse): Don't use class calendar field.
2003-09-25 Guilhem Lavaux <guilhem@kaffe.org> * java/text/SimpleDateFormat.java (parse): Don't use class calendar field. From-SVN: r71782
This commit is contained in:
parent
c5fd8041ed
commit
cc9556b924
@ -1,3 +1,8 @@
|
||||
2003-09-25 Guilhem Lavaux <guilhem@kaffe.org>
|
||||
|
||||
* java/text/SimpleDateFormat.java (parse): Don't use class calendar
|
||||
field.
|
||||
|
||||
2003-09-25 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* gnu/java/nio/SelectorImpl.java
|
||||
|
@ -547,8 +547,9 @@ public class SimpleDateFormat extends DateFormat
|
||||
{
|
||||
int fmt_index = 0;
|
||||
int fmt_max = pattern.length();
|
||||
Calendar loc_calendar = (Calendar)calendar.clone();
|
||||
|
||||
calendar.clear();
|
||||
loc_calendar.clear();
|
||||
boolean saw_timezone = false;
|
||||
int quote_start = -1;
|
||||
boolean is2DigitYear = false;
|
||||
@ -696,8 +697,8 @@ public class SimpleDateFormat extends DateFormat
|
||||
found_zone = true;
|
||||
saw_timezone = true;
|
||||
TimeZone tz = TimeZone.getTimeZone (strings[0]);
|
||||
calendar.setTimeZone (tz);
|
||||
calendar.set (Calendar.ZONE_OFFSET, tz.getRawOffset ());
|
||||
loc_calendar.setTimeZone (tz);
|
||||
loc_calendar.set (Calendar.ZONE_OFFSET, tz.getRawOffset ());
|
||||
offset = 0;
|
||||
if (k > 2 && tz instanceof SimpleTimeZone)
|
||||
{
|
||||
@ -764,17 +765,17 @@ public class SimpleDateFormat extends DateFormat
|
||||
}
|
||||
|
||||
// Assign the value and move on.
|
||||
calendar.set(calendar_field, value);
|
||||
loc_calendar.set(calendar_field, value);
|
||||
}
|
||||
|
||||
if (is2DigitYear)
|
||||
{
|
||||
// Apply the 80-20 heuristic to dermine the full year based on
|
||||
// defaultCenturyStart.
|
||||
int year = defaultCentury + calendar.get(Calendar.YEAR);
|
||||
calendar.set(Calendar.YEAR, year);
|
||||
if (calendar.getTime().compareTo(defaultCenturyStart) < 0)
|
||||
calendar.set(Calendar.YEAR, year + 100);
|
||||
int year = defaultCentury + loc_calendar.get(Calendar.YEAR);
|
||||
loc_calendar.set(Calendar.YEAR, year);
|
||||
if (loc_calendar.getTime().compareTo(defaultCenturyStart) < 0)
|
||||
loc_calendar.set(Calendar.YEAR, year + 100);
|
||||
}
|
||||
|
||||
try
|
||||
@ -783,10 +784,10 @@ public class SimpleDateFormat extends DateFormat
|
||||
{
|
||||
// Use the real rules to determine whether or not this
|
||||
// particular time is in daylight savings.
|
||||
calendar.clear (Calendar.DST_OFFSET);
|
||||
calendar.clear (Calendar.ZONE_OFFSET);
|
||||
loc_calendar.clear (Calendar.DST_OFFSET);
|
||||
loc_calendar.clear (Calendar.ZONE_OFFSET);
|
||||
}
|
||||
return calendar.getTime();
|
||||
return loc_calendar.getTime();
|
||||
}
|
||||
catch (IllegalArgumentException x)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user