dateformatsymbols.java

来自「This is a resource based on j2me embedde」· Java 代码 · 共 584 行 · 第 1/2 页

JAVA
584
字号
/* *  * @(#)DateFormatSymbols.java	1.41 06/10/10 *  * Portions Copyright  2000-2008 Sun Microsystems, Inc. All Rights * Reserved.  Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER *  * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 only, as published by the Free Software Foundation. *  * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). *  * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA *  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. *//* * (C) Copyright Taligent, Inc. 1996 - All Rights Reserved * (C) Copyright IBM Corp. 1996 - All Rights Reserved * *   The original version of this source code and documentation is copyrighted * and owned by Taligent, Inc., a wholly-owned subsidiary of IBM. These * materials are provided under terms of a License Agreement between Taligent * and Sun. This technology is protected by multiple US and International * patents. This notice and attribution to Taligent may not be removed. *   Taligent is a registered trademark of Taligent, Inc. * */package java.text;import java.util.Locale;import java.util.ResourceBundle;import java.io.Serializable;import java.lang.ref.SoftReference;import java.util.Vector;import java.util.Enumeration;import sun.text.Utility;import sun.text.resources.LocaleData;import java.util.Hashtable;/** * <code>DateFormatSymbols</code> is a public class for encapsulating * localizable date-time formatting data, such as the names of the * months, the names of the days of the week, and the time zone data. * <code>DateFormat</code> and <code>SimpleDateFormat</code> both use * <code>DateFormatSymbols</code> to encapsulate this information. * * <p> * Typically you shouldn't use <code>DateFormatSymbols</code> directly. * Rather, you are encouraged to create a date-time formatter with the * <code>DateFormat</code> class's factory methods: <code>getTimeInstance</code>, * <code>getDateInstance</code>, or <code>getDateTimeInstance</code>. * These methods automatically create a <code>DateFormatSymbols</code> for * the formatter so that you don't have to. After the * formatter is created, you may modify its format pattern using the * <code>setPattern</code> method. For more information about * creating formatters using <code>DateFormat</code>'s factory methods, * see {@link DateFormat}. * * <p> * If you decide to create a date-time formatter with a specific * format pattern for a specific locale, you can do so with: * <blockquote> * <pre> * new SimpleDateFormat(aPattern, new DateFormatSymbols(aLocale)). * </pre> * </blockquote> * * <p> * <code>DateFormatSymbols</code> objects are cloneable. When you obtain * a <code>DateFormatSymbols</code> object, feel free to modify the * date-time formatting data. For instance, you can replace the localized * date-time format pattern characters with the ones that you feel easy * to remember. Or you can change the representative cities * to your favorite ones. * * <p> * New <code>DateFormatSymbols</code> subclasses may be added to support * <code>SimpleDateFormat</code> for date-time formatting for additional locales. * @see          DateFormat * @see          SimpleDateFormat * @see          java.util.SimpleTimeZone * @version      1.41, 10/10/06 * @author       Chen-Lieh Huang */public class DateFormatSymbols implements Serializable, Cloneable {    /**     * Construct a DateFormatSymbols object by loading format data from     * resources for the default locale.     *     * @exception  java.util.MissingResourceException     *             if the resources for the default locale cannot be     *             found or cannot be loaded.     */    public DateFormatSymbols()    {        initializeData(Locale.getDefault());    }    /**     * Construct a DateFormatSymbols object by loading format data from     * resources for the given locale.     *     * @exception  java.util.MissingResourceException     *             if the resources for the specified locale cannot be     *             found or cannot be loaded.     */    public DateFormatSymbols(Locale locale)    {        initializeData(locale);    }    /**     * Era strings. For example: "AD" and "BC".  An array of 2 strings,     * indexed by <code>Calendar.BC</code> and <code>Calendar.AD</code>.     * @serial     */    String eras[] = null;    /**     * Month strings. For example: "January", "February", etc.  An array     * of 13 strings (some calendars have 13 months), indexed by     * <code>Calendar.JANUARY</code>, <code>Calendar.FEBRUARY</code>, etc.     * @serial     */    String months[] = null;    /**     * Short month strings. For example: "Jan", "Feb", etc.  An array of     * 13 strings (some calendars have 13 months), indexed by     * <code>Calendar.JANUARY</code>, <code>Calendar.FEBRUARY</code>, etc.     * @serial     */    String shortMonths[] = null;    /**     * Weekday strings. For example: "Sunday", "Monday", etc.  An array     * of 8 strings, indexed by <code>Calendar.SUNDAY</code>,     * <code>Calendar.MONDAY</code>, etc.     * The element <code>weekdays[0]</code> is ignored.     * @serial     */    String weekdays[] = null;    /**     * Short weekday strings. For example: "Sun", "Mon", etc.  An array     * of 8 strings, indexed by <code>Calendar.SUNDAY</code>,     * <code>Calendar.MONDAY</code>, etc.     * The element <code>shortWeekdays[0]</code> is ignored.     * @serial     */    String shortWeekdays[] = null;    /**     * AM and PM strings. For example: "AM" and "PM".  An array of     * 2 strings, indexed by <code>Calendar.AM</code> and     * <code>Calendar.PM</code>.     * @serial     */    String ampms[] = null;    /**     * Localized names of time zones in this locale.  This is a     * two-dimensional array of strings of size <em>n</em> by <em>m</em>,     * where <em>m</em> is at least 5.  Each of the <em>n</em> rows is an     * entry containing the localized names for a single <code>TimeZone</code>.     * Each such row contains (with <code>i</code> ranging from     * 0..<em>n</em>-1):     * <ul>     * <li><code>zoneStrings[i][0]</code> - time zone ID</li>     * <li><code>zoneStrings[i][1]</code> - long name of zone in standard     * time</li>     * <li><code>zoneStrings[i][2]</code> - short name of zone in     * standard time</li>     * <li><code>zoneStrings[i][3]</code> - long name of zone in daylight     * savings time</li>     * <li><code>zoneStrings[i][4]</code> - short name of zone in daylight     * savings time</li>     * </ul>     * The zone ID is <em>not</em> localized; it corresponds to the ID     * value associated with a system time zone object.  All other entries     * are localized names.  If a zone does not implement daylight savings     * time, the daylight savings time names are ignored.     * @see java.util.TimeZone     * @serial     */    String zoneStrings[][] = null;    /**     * Unlocalized date-time pattern characters. For example: 'y', 'd', etc.     * All locales use the same these unlocalized pattern characters.     */    static final String  patternChars = "GyMdkHmsSEDFwWahKzZ";    /**     * Localized date-time pattern characters. For example, a locale may     * wish to use 'u' rather than 'y' to represent years in its date format     * pattern strings.     * This string must be exactly 18 characters long, with the index of     * the characters described by <code>DateFormat.ERA_FIELD</code>,     * <code>DateFormat.YEAR_FIELD</code>, etc.  Thus, if the string were     * "Xz...", then localized patterns would use 'X' for era and 'z' for year.     * @serial     */    String  localPatternChars = null;    /* use serialVersionUID from JDK 1.1.4 for interoperability */    static final long serialVersionUID = -5987973545549424702L;    /**     * Gets era strings. For example: "AD" and "BC".     * @return the era strings.     */    public String[] getEras() {        return duplicate(eras);    }    /**     * Sets era strings. For example: "AD" and "BC".     * @param newEras the new era strings.     */    public void setEras(String[] newEras) {        eras = duplicate(newEras);    }    /**     * Gets month strings. For example: "January", "February", etc.     * @return the month strings.     */    public String[] getMonths() {        return duplicate(months);    }    /**     * Sets month strings. For example: "January", "February", etc.     * @param newMonths the new month strings.     */    public void setMonths(String[] newMonths) {        months = duplicate(newMonths);    }    /**     * Gets short month strings. For example: "Jan", "Feb", etc.     * @return the short month strings.     */    public String[] getShortMonths() {        return duplicate(shortMonths);    }    /**     * Sets short month strings. For example: "Jan", "Feb", etc.     * @param newShortMonths the new short month strings.     */    public void setShortMonths(String[] newShortMonths) {        shortMonths = duplicate(newShortMonths);    }    /**     * Gets weekday strings. For example: "Sunday", "Monday", etc.     * @return the weekday strings. Use <code>Calendar.SUNDAY</code>,     * <code>Calendar.MONDAY</code>, etc. to index the result array.     */    public String[] getWeekdays() {        return duplicate(weekdays);    }    /**     * Sets weekday strings. For example: "Sunday", "Monday", etc.     * @param newWeekdays the new weekday strings. The array should     * be indexed by <code>Calendar.SUNDAY</code>,     * <code>Calendar.MONDAY</code>, etc.     */    public void setWeekdays(String[] newWeekdays) {        weekdays = duplicate(newWeekdays);    }    /**

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?