re PR libgcj/1358 (java.util.Date.toString() doesn't seem to behave properly.)
Fix for PR libgcj/1358: * java/lang/System.java: Update Copyright date properly. * java/util/Calendar.java: Fix typo in comment. (set): Set 24-hour clock hour instead of 12-hour clock hour. * java/util/GregorianCalendar.java (GregorianCalendar): Properly initialize times. Spec says to set H:M:S values to zero only if a date is given. * java/util/TimeZone.java (getDefaultDisplayName): Casts to char needed for evaluating numbers '0' to '9' in printouts of GMT offsets. * java/util/natGregorianCalendar.cc (computeTime): Properly handle timezones and GMT offsets, being careful to account for units of milliseconds vs. seconds. From-SVN: r38508
This commit is contained in:
parent
5da1e2c489
commit
ed55bdc47f
6 changed files with 30 additions and 16 deletions
|
@ -39,16 +39,17 @@ java::util::GregorianCalendar::computeTime ()
|
|||
// Adjust for local timezone (introduced by mktime) and our
|
||||
// timezone.
|
||||
#if defined (STRUCT_TM_HAS_GMTOFF)
|
||||
t += tim.tm_gmtoff;
|
||||
t -= tim.tm_gmtoff;
|
||||
#elif defined (HAVE_TIMEZONE)
|
||||
t -= timezone;
|
||||
t += timezone;
|
||||
#endif
|
||||
java::util::TimeZone *zone = getTimeZone ();
|
||||
t += zone->getRawOffset();
|
||||
|
||||
// Adjust for milliseconds.
|
||||
time = t * (jlong) 1000 + elements(fields)[MILLISECOND];
|
||||
|
||||
// Now adjust for the real timezone, i.e. our timezone, which is in millis.
|
||||
java::util::TimeZone *zone = getTimeZone ();
|
||||
time += zone->getRawOffset();
|
||||
|
||||
isTimeSet = true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue