< prev index next >

src/share/classes/java/time/chrono/JapaneseEra.java

Print this page

        

*** 85,98 **** import sun.util.calendar.CalendarDate; /** * An era in the Japanese Imperial calendar system. * <p> ! * This class defines the valid eras for the Japanese chronology. ! * Japan introduced the Gregorian calendar starting with Meiji 6. ! * Only Meiji and later eras are supported; ! * dates before Meiji 6, January 1 are not supported. * * @implSpec * This class is immutable and thread-safe. * * @since 1.8 --- 85,120 ---- import sun.util.calendar.CalendarDate; /** * An era in the Japanese Imperial calendar system. * <p> ! * The Japanese government defines the official name and start date of ! * each era. Eras are consecutive and their date ranges do not overlap, ! * so the end date of one era is always the day before the start date ! * of the next era. ! * <p> ! * The Java SE Platform supports all eras defined by the Japanese government, ! * beginning with the Meiji era. Each era is identified in the Platform by an ! * integer value and a name. The of(int) and valueOf(String) methods may be ! * used to obtain a singleton instance of JapaneseEra for each era. The ! * values() method returns the singleton instances of all supported eras. ! * <p> ! * For convenience, this class declares a number of public static final fields ! * that refer to singleton instances returned by the values() method. ! * ! * @apiNote ! * The fields declared in this class may evolve over time, in line with the ! * results of the values() method. However, there is not necessarily a 1:1 ! * correspondence between the fields and the singleton instances. ! * ! * @apiNote ! * The Japanese government may announce a new era and define its start ! * date but not its official name. In this scenario, the singleton instance ! * that represents the new era may return a name that is not stable until ! * the official name is defined. Developers should exercise caution when ! * relying on the name returned by any singleton instance that does not ! * correspond to a public static final field. * * @implSpec * This class is immutable and thread-safe. * * @since 1.8
*** 120,130 **** * The singleton instance for the 'Showa' era (1926-12-25 - 1989-01-07) * which has the value 1. */ public static final JapaneseEra SHOWA = new JapaneseEra(1, LocalDate.of(1926, 12, 25)); /** ! * The singleton instance for the 'Heisei' era (1989-01-08 - current) * which has the value 2. */ public static final JapaneseEra HEISEI = new JapaneseEra(2, LocalDate.of(1989, 1, 8)); // The number of predefined JapaneseEra constants. --- 142,152 ---- * The singleton instance for the 'Showa' era (1926-12-25 - 1989-01-07) * which has the value 1. */ public static final JapaneseEra SHOWA = new JapaneseEra(1, LocalDate.of(1926, 12, 25)); /** ! * The singleton instance for the 'Heisei' era (1989-01-08 - 2019-04-30) * which has the value 2. */ public static final JapaneseEra HEISEI = new JapaneseEra(2, LocalDate.of(1989, 1, 8)); // The number of predefined JapaneseEra constants.
*** 185,198 **** } //----------------------------------------------------------------------- /** * Obtains an instance of {@code JapaneseEra} from an {@code int} value. * <p> ! * The {@link #SHOWA} era that contains 1970-01-01 (ISO calendar system) has the value 1 ! * Later era is numbered 2 ({@link #HEISEI}). Earlier eras are numbered 0 ({@link #TAISHO}), ! * -1 ({@link #MEIJI}), only Meiji and later eras are supported. * * @param japaneseEra the era to represent * @return the {@code JapaneseEra} singleton, not null * @throws DateTimeException if the value is invalid */ --- 207,228 ---- } //----------------------------------------------------------------------- /** * Obtains an instance of {@code JapaneseEra} from an {@code int} value. + * <ul> + * <li>The value {@code 1} is associated with the 'Showa' era, because + * it contains 1970-01-01 (ISO calendar system).</li> + * <li>The values {@code -1} and {@code 0} are associated with two earlier + * eras, Meiji and Taisho, respectively.</li> + * <li>A value greater than {@code 1} is associated with a later era, + * beginning with Heisei ({@code 2}).</li> + * </ul> * <p> ! * Every instance of {@code JapaneseEra} that is returned from the {@link values()} ! * method has an int value (available via {@link Era#getValue()} which is ! * accepted by this method. * * @param japaneseEra the era to represent * @return the {@code JapaneseEra} singleton, not null * @throws DateTimeException if the value is invalid */
< prev index next >