[multiple changes]
2005-02-21 Mark Wielaard <mark@klomp.org> * gnu/java/locale/LocaleInformation_en.java: Extend localPatternChars to "GyMdkHmsSEDFwWahKzYeugAZ". 2005-02-21 Mark Wielaard <mark@klomp.org> * java/text/SimpleDateFormat.java (SimpleDateFormat(String, DateFormatSymbols)): Throw NullPointerException when formatData is null. 2005-02-21 Mark Wielaard <mark@klomp.org> * java/util/SimpleTimeZone.java (getOffset): Calculate beforeEnd by taking dstSavings into account. 2005-02-21 Sven de Marothy <sven@physto.se> * java/text/SimpleDateFormat.java, (parse): Set correct DST_OFFSET to the correct value. 2005-02-21 Mark Wielaard <mark@klomp.org> * java/util/SimpleTimeZone.java (checkRule): Throw IllegalArgumentException when month out of range. 2005-02-21 Sven de Marothy <sven@physto.se> * java/util/GregorianCalendar.java, (add): Don't set fields directly anymore. Use set() 2005-02-21 Mark Wielaard <mark@klomp.org> * java/text/SimpleDateFormat.java (CompiledField.toString): Use StringBuffer, not StringBuilder. (toString): Likewise. 2005-02-21 Sven de Marothy <sven@physto.se> * java/util/Calendar.java (clear): Dates should clear to local time. * java/util/GregorianCalendar.java (computeTime): Fix priority problem with DAY_OF_WEEK, Handle non-sunday-startig weeks and minimumDaysInFirstWeek. 2005-02-21 Sven de Marothy <sven@physto.se> * java/util/Calendar.java (Calendar): Constructor should clear fields. 2005-02-21 Sven de Marothy <sven@physto.se> * java/text/SimpleDateFormat.java (parse): Tweak handling of 2-year dates * java/util/Calendar.java (clear): Clear fields to correct value. * java/util/GregorianCalendar.java (computeTime): Correct handling of time zones. Correct field minimum values. 2005-02-21 Sven de Marothy <sven@physto.se> * java/util/Calendar.java (set) Invalidate all fields on first call to set(). 2005-02-21 Sven de Marothy <sven@physto.se> * java/util/GregorianCalendar.java (computeTime): Fixed handling of time zones. 2005-02-21 Sven de Marothy <sven@physto.se> * java/util/Calendar.java (clear): Set values to Epoch instead of zero. (set): Set isSet to the relevant field pattern instead of just the field. * java/util/GregorianCalendar.java (getBundle): Removed. (getDayOfYear): Removed. (getFirstDayOfMonth): New private method. (nonLeniencyCheck): New private method. (computeTime): Correct handling of insufficient data. 2005-02-21 Sven de Marothy <sven@physto.se> * java/util/Calendar.java: Invalidate ERA field on setting the YEAR. * java/util/SimpleTimeZone.java: (getDaysInMonth): Reimplemented. * java/util/GregorianCalendar.java: (getLinearTime): Removed. (isLeapYear(int,boolean)): Removed. (before(), after()): Removed. (computeTime): Reimplemented. 2005-02-21 Sven de Marothy <sven@physto.se> * java/util/Calendar.java: Reformatted. * java/util/GregorianCalendar.java: Reformatted. * java/util/SimpleTimeZone.java: Reformatted. 2005-02-21 Sven de Marothy <sven@physto.se> * java/util/GregorianCalendar.java (GregorianCalendar): Update fields in the constructor 2005-02-21 Noa Resare <noa@resare.com> * java/util/Calendar.java (explicitDSTOffset): New instance field. (set(int,int)): Set and use new field. (set(int,int,int)): Check new field. 2005-02-21 Noa Resare <address@hidden> * java/util/Calendar.java(set): Fix for DST related regression. 2005-02-21 Jeroen Frijters <jeroen@frijters.net> * java/util/Calendar.java (setTimeInMillis): Added call to clear, removed computeFields call. * java/util/Date.java (Date(int,int,int,int,int,int)): Removed workaround for GregorianCalendar bug. * java/util/GregorianCalendar.java (GregorianCalendar): Chained all constructors to a (new) common constructor. (computeTime): Fixed support for lenient month treatment. (getLinearDay): Return long instead of int. (calculateDay): Added fields argument and changed day argument to long. 2005-02-21 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/SimpleDateFormat.java Lots of documentation updates. (readObject(java.io.ObjectInputStream)): Wraps IllegalArgumentException as specified. (compileFormat(String)): Uses standardChars rather than the local pattern characters. Throws IllegalArgumentException rather than storing a -1 field. (toString()): Extended to include all variables in a better format. (translateLocalizedPattern(String, String, String)): Renamed to better define the use of this method. 2005-02-21 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/DateFormat.java: Documented pattern character offset constants and added new ones. (Field): Added new static fields for new pattern chars. * java/text/SimpleDateFormat.java: (CompiledField): Changed name of FieldSizePair class to CompiledField after adding the character as an attribute. Changed fields to private and added accessors to give encapsulation. (CompiledField.CompiledField(int,int,char)): Extended with character field. (CompiledField.getField()): New accessor method. (CompiledField.getSize()): New acceessor method. (CompiledField.getCharacter()): New accessor method. (CompiledField.toString()): Added primarily for debugging. (standardChars): Now uses extended 24 character sequence. (compileFormat(String)): Changed to use CompiledField. (formatWithAttribute(java.util.Date, gnu.java.text.FormatBuffer, java.text.FieldPosition)): Changed to use CompiledField. New handler for RFC 822 timezones added. 2005-02-21 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/SimpleDateFormat.java: (parse(String, java.text.ParsePosition)): Changed 'E' and 'M' cases to use both short and long names. Extended 'z' case to also handle 'Z', and deal with simple GMT offsets such as +0100. (computeOffset(String)): New private method, which converts a GMT offset specification, such as GMT-0500 to a numeric offset in milliseconds. * java/util/TimeZone.java: (timezones()): Added "CEST", the daylight savings time version of "CET", or Central European Time. 2005-02-21 Ito Kazumitsu <kaz@maczuka.gcd.org> * java/text/SimpleDateFormat.java: (parse): Set the DST offset to 0 when parsing GMT offset timezones. 2005-02-21 Ito Kazumitsu <kaz@maczuka.gcd.org> * java/text/SimpleDateFormat.java: (parse): Use offset to set ZONE_OFFSET rather than the DST_OFFSET, so that GMT offset timezones change the right one. 2005-02-21 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/SimpleDateFormat.java: (getDateFormatSymbols()): return a copy (setDateFormatSymbols(java.text.DateFormatSymbols)): throw exception on null input (clone()): implemented to clone internal fields 2005-02-21 Sven de Marothy <sven@physto.se> * java/text/SimpleDateFormat.java (parse): comparison should be case-insensitive, ignore null strings. From-SVN: r95368
This commit is contained in:
parent
665794a6c4
commit
933e5b284a
8 changed files with 1853 additions and 917 deletions
|
@ -70,29 +70,221 @@ public abstract class DateFormat extends Format implements Cloneable
|
|||
|
||||
/* These constants need to have these exact values. They
|
||||
* correspond to index positions within the localPatternChars
|
||||
* string for a given locale. For example, the US locale uses
|
||||
* the string "GyMdkHmsSEDFwWahKz", where 'G' is the character
|
||||
* for era, 'y' for year, and so on down to 'z' for time zone.
|
||||
* string for a given locale. Each locale may specify its
|
||||
* own character for a particular field, but the position
|
||||
* of these characters must correspond to an appropriate field
|
||||
* number (as listed below), in order for their meaning to
|
||||
* be determined. For example, the US locale uses
|
||||
* the string "GyMdkHmsSEDFwWahKzYeugAZ", where 'G' is the character
|
||||
* for era, 'y' for year, and so on down to 'Z' for time zone.
|
||||
*/
|
||||
/**
|
||||
* Represents the position of the era
|
||||
* pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* For example, 'AD' is an era used
|
||||
* in the Gregorian calendar system.
|
||||
* In the U.S. locale, this is 'G'.
|
||||
*/
|
||||
public static final int ERA_FIELD = 0;
|
||||
/**
|
||||
* Represents the position of the year
|
||||
* pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'y'.
|
||||
*/
|
||||
public static final int YEAR_FIELD = 1;
|
||||
/**
|
||||
* Represents the position of the month
|
||||
* pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'M'.
|
||||
*/
|
||||
public static final int MONTH_FIELD = 2;
|
||||
/**
|
||||
* Represents the position of the date
|
||||
* or day of the month pattern character
|
||||
* in the array of localized pattern
|
||||
* characters. In the U.S. locale,
|
||||
* this is 'd'.
|
||||
*/
|
||||
public static final int DATE_FIELD = 3;
|
||||
/**
|
||||
* Represents the position of the 24
|
||||
* hour pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'k'.
|
||||
* This field numbers hours from 1 to 24.
|
||||
*/
|
||||
public static final int HOUR_OF_DAY1_FIELD = 4;
|
||||
/**
|
||||
* Represents the position of the 24
|
||||
* hour pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'H'.
|
||||
* This field numbers hours from 0 to 23.
|
||||
*/
|
||||
public static final int HOUR_OF_DAY0_FIELD = 5;
|
||||
/**
|
||||
* Represents the position of the minute
|
||||
* pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'm'.
|
||||
*/
|
||||
public static final int MINUTE_FIELD = 6;
|
||||
/**
|
||||
* Represents the position of the second
|
||||
* pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 's'.
|
||||
*/
|
||||
public static final int SECOND_FIELD = 7;
|
||||
/**
|
||||
* Represents the position of the millisecond
|
||||
* pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'S'.
|
||||
*/
|
||||
public static final int MILLISECOND_FIELD = 8;
|
||||
/**
|
||||
* Represents the position of the day of the
|
||||
* week pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'E'.
|
||||
*/
|
||||
public static final int DAY_OF_WEEK_FIELD = 9;
|
||||
/**
|
||||
* Represents the position of the day of the
|
||||
* year pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'D'.
|
||||
*/
|
||||
public static final int DAY_OF_YEAR_FIELD = 10;
|
||||
/**
|
||||
* Represents the position of the day of the
|
||||
* week in the month pattern character in the
|
||||
* array of localized pattern characters.
|
||||
* In the U.S. locale, this is 'F'.
|
||||
*/
|
||||
public static final int DAY_OF_WEEK_IN_MONTH_FIELD = 11;
|
||||
/**
|
||||
* Represents the position of the week of the
|
||||
* year pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'w'.
|
||||
*/
|
||||
public static final int WEEK_OF_YEAR_FIELD = 12;
|
||||
/**
|
||||
* Represents the position of the week of the
|
||||
* month pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'W'.
|
||||
*/
|
||||
public static final int WEEK_OF_MONTH_FIELD = 13;
|
||||
/**
|
||||
* Represents the position of the am/pm
|
||||
* pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'a'.
|
||||
*/
|
||||
public static final int AM_PM_FIELD = 14;
|
||||
/**
|
||||
* Represents the position of the 12
|
||||
* hour pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'h'.
|
||||
* This field numbers hours from 1 to 12.
|
||||
*/
|
||||
public static final int HOUR1_FIELD = 15;
|
||||
/**
|
||||
* Represents the position of the 12
|
||||
* hour pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'K'.
|
||||
* This field numbers hours from 0 to 11.
|
||||
*/
|
||||
public static final int HOUR0_FIELD = 16;
|
||||
/**
|
||||
* Represents the position of the generic
|
||||
* timezone pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'z'.
|
||||
*/
|
||||
public static final int TIMEZONE_FIELD = 17;
|
||||
|
||||
/**
|
||||
* Represents the position of the ISO year
|
||||
* pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'Y'.
|
||||
* This is a GNU extension in accordance with
|
||||
* the CLDR data used. This value may
|
||||
* differ from the normal year value.
|
||||
*/
|
||||
public static final int ISO_YEAR_FIELD = 18;
|
||||
/**
|
||||
* Represents the position of the localized
|
||||
* day of the week pattern character in the
|
||||
* array of localized pattern characters.
|
||||
* In the U.S. locale, this is 'e'.
|
||||
* This is a GNU extension in accordance with
|
||||
* the CLDR data used. This value only
|
||||
* differs from the day of the week with
|
||||
* numeric formatting, in which case the
|
||||
* locale's first day of the week is used.
|
||||
*/
|
||||
public static final int LOCALIZED_DAY_OF_WEEK_FIELD = 19;
|
||||
/**
|
||||
* Represents the position of the extended year
|
||||
* pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'u'.
|
||||
* This is a GNU extension in accordance with
|
||||
* the CLDR data used. This value modifies
|
||||
* the year value, so as to incorporate the era.
|
||||
* For example, in the Gregorian calendar system,
|
||||
* the extended year is negative instead of being
|
||||
* marked as BC.
|
||||
*/
|
||||
public static final int EXTENDED_YEAR_FIELD = 20;
|
||||
/**
|
||||
* Represents the position of the modified Julian
|
||||
* day pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'g'.
|
||||
* This is a GNU extension in accordance with
|
||||
* the CLDR data used. This value differs
|
||||
* from the standard Julian day in that days
|
||||
* are marked from midnight onwards rather than
|
||||
* noon, and the local time zone affects the value.
|
||||
* In simple terms, it can be thought of as all
|
||||
* the date fields represented as a single number.
|
||||
*/
|
||||
public static final int MODIFIED_JULIAN_DAY_FIELD = 21;
|
||||
/**
|
||||
* Represents the position of the millisecond
|
||||
* in the day pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'A'.
|
||||
* This is a GNU extension in accordance with
|
||||
* the CLDR data used. This value represents
|
||||
* all the time fields (excluding the time zone)
|
||||
* numerically, giving the number of milliseconds
|
||||
* into the day (e.g. 10 in the morning would
|
||||
* be 10 * 60 * 60 * 1000). Any daylight savings
|
||||
* offset also affects this value.
|
||||
*/
|
||||
public static final int MILLISECOND_IN_DAY_FIELD = 22;
|
||||
/**
|
||||
* Represents the position of the RFC822
|
||||
* timezone pattern character in the array of
|
||||
* localized pattern characters.
|
||||
* In the U.S. locale, this is 'Z'.
|
||||
* This is a GNU extension in accordance with
|
||||
* the CLDR data used. The value is the offset
|
||||
* of the current time from GMT e.g. -0500 would
|
||||
* be five hours prior to GMT.
|
||||
*/
|
||||
public static final int RFC822_TIMEZONE_FIELD = 23;
|
||||
|
||||
public static class Field extends Format.Field
|
||||
{
|
||||
|
@ -136,14 +328,28 @@ public abstract class DateFormat extends Format implements Cloneable
|
|||
= new Field("hour0", Calendar.HOUR);
|
||||
public static final DateFormat.Field TIME_ZONE
|
||||
= new Field("timezone", Calendar.ZONE_OFFSET);
|
||||
|
||||
public static final DateFormat.Field ISO_YEAR
|
||||
= new Field("iso year", Calendar.YEAR);
|
||||
public static final DateFormat.Field LOCALIZED_DAY_OF_WEEK
|
||||
= new Field("localized day of week", Calendar.DAY_OF_WEEK);
|
||||
public static final DateFormat.Field EXTENDED_YEAR
|
||||
= new Field("extended year", Calendar.YEAR);
|
||||
public static final DateFormat.Field MODIFIED_JULIAN_DAY
|
||||
= new Field("julian day", -1);
|
||||
public static final DateFormat.Field MILLISECOND_IN_DAY
|
||||
= new Field("millisecond in day", -1);
|
||||
public static final DateFormat.Field RFC822_TIME_ZONE
|
||||
= new Field("rfc822 timezone", Calendar.ZONE_OFFSET);
|
||||
|
||||
static final DateFormat.Field[] allFields =
|
||||
{
|
||||
ERA, YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY1,
|
||||
HOUR_OF_DAY0, MINUTE, SECOND, MILLISECOND,
|
||||
DAY_OF_WEEK, DAY_OF_YEAR, DAY_OF_WEEK_IN_MONTH,
|
||||
WEEK_OF_YEAR, WEEK_OF_MONTH, AM_PM, HOUR1, HOUR0,
|
||||
TIME_ZONE
|
||||
TIME_ZONE, ISO_YEAR, LOCALIZED_DAY_OF_WEEK,
|
||||
EXTENDED_YEAR, MODIFIED_JULIAN_DAY, MILLISECOND_IN_DAY,
|
||||
RFC822_TIME_ZONE
|
||||
};
|
||||
|
||||
// For deserialization
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue