Commit e959c67a authored by warrenl's avatar warrenl
Browse files

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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38508 138bc75d-0d04-0410-961f-82ee72b054a4
parent 6c364243
2000-12-27 Warren Levy <warrenl@redhat.com>
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.
2000-12-28 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Primitive TYPEs can
......
// System.java - System-specific info.
/* Copyright (C) 1998, 1999 Free Software Foundation
/* Copyright (C) 1998, 1999, 2000 Free Software Foundation
This file is part of libgcj.
......
......@@ -257,7 +257,7 @@ public abstract class Calendar implements Serializable, Cloneable
*/
public static final int DECEMBER = 11;
/**
* Constant representing Undecimber. This is an artifical name useful
* Constant representing Undecimber. This is an artificial name useful
* for lunar calendars.
*/
public static final int UNDECIMBER = 12;
......@@ -581,9 +581,9 @@ public abstract class Calendar implements Serializable, Cloneable
public final void set(int year, int month, int date, int hour, int minute)
{
set(year, month, date);
fields[HOUR] = hour;
fields[HOUR_OF_DAY] = hour;
fields[MINUTE] = minute;
isSet[HOUR] = isSet[MINUTE] = true;
isSet[HOUR_OF_DAY] = isSet[MINUTE] = true;
}
/**
......
......@@ -115,23 +115,20 @@ public class GregorianCalendar extends Calendar {
public GregorianCalendar (int year, int month, int date)
{
this();
setDefaultTime ();
set (year, month, date);
set (year, month, date, 0, 0, 0);
}
public GregorianCalendar (int year, int month, int date,
int hour, int minute)
{
this();
setDefaultTime ();
set (year, month, date, hour, minute);
set (year, month, date, hour, minute, 0);
}
public GregorianCalendar (int year, int month, int date,
int hour, int minute, int second)
{
this();
setDefaultTime ();
set (year, month, date, hour, minute, second);
}
......
......@@ -896,8 +896,9 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable
int hours = offset / 60;
int minutes = offset % 60;
sb.append('0' + hours / 10).append('0' + hours % 10).append(':');
sb.append('0' + minutes / 10).append('0' + minutes % 10);
sb.append((char) ('0' + hours / 10)).append((char) ('0' + hours % 10));
sb.append(':');
sb.append((char) ('0' + minutes / 10)).append((char) ('0' + minutes % 10));
return sb.toString();
}
......
......@@ -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;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment