Java : Era (紀元) - API使用例
Era (Java SE 21 & JDK 21) の使い方まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。
概要
Era は、紀元を表すインタフェースです。
主なサブクラスに、
- IsoEra : ISO暦体系 (西暦、紀元前)
- JapaneseEra : 和暦 (平成、令和など)
があります。
final var locale = Locale.getDefault();
System.out.println(locale.toLanguageTag()); // ja-JP
{
final Era era = IsoEra.CE;
System.out.println(era.getValue()); // 1
final var name = era.getDisplayName(TextStyle.FULL, locale);
System.out.println(name); // 西暦
}
{
final Era era = IsoEra.BCE;
System.out.println(era.getValue()); // 0
final var name = era.getDisplayName(TextStyle.FULL, locale);
System.out.println(name); // 紀元前
}
{
final Era era = JapaneseEra.REIWA;
System.out.println(era.getValue()); // 3
final var name = era.getDisplayName(TextStyle.FULL, locale);
System.out.println(name); // 令和
}
final var date1 = LocalDate.of(2100, 12, 31);
System.out.println(date1); // 2100-12-31
System.out.println(date1.getEra()); // CE
final var date2 = LocalDate.of(-99, 1, 2);
System.out.println(date2); // -0099-01-02
System.out.println(date2.getEra()); // BCE
final var date = LocalDate.of(1993, 1, 2);
System.out.println(date); // 1993-01-02
final var japaneseDate = JapaneseChronology.INSTANCE.date(date);
System.out.println(japaneseDate); // Japanese Heisei 5-01-02
System.out.println(japaneseDate.getEra()); // Heisei
メソッド
default Temporal adjustInto (Temporal temporal)
final Era era = IsoEra.BCE;
System.out.println(era); // BCE
final var date = LocalDate.of(2100, 2, 3);
System.out.println(date); // 2100-02-03
final var ret = era.adjustInto(date);
System.out.println(ret); // -2099-02-03
default int get (TemporalField field)
final Era era = IsoEra.CE;
System.out.println(era); // CE
System.out.println(era.get(ChronoField.ERA)); // 1
final Era era = IsoEra.BCE;
System.out.println(era); // BCE
System.out.println(era.get(ChronoField.ERA)); // 0
default String getDisplayName (TextStyle style, Locale locale)
final Era era = IsoEra.CE;
System.out.println(era); // CE
final var name1 = era.getDisplayName(TextStyle.FULL, Locale.US);
System.out.println(name1); // Anno Domini
final var name2 = era.getDisplayName(TextStyle.FULL, Locale.JAPAN);
System.out.println(name2); // 西暦
final Era era = IsoEra.BCE;
System.out.println(era); // BCE
final var name1 = era.getDisplayName(TextStyle.FULL, Locale.US);
System.out.println(name1); // Before Christ
final var name2 = era.getDisplayName(TextStyle.FULL, Locale.JAPAN);
System.out.println(name2); // 紀元前
default long getLong (TemporalField field)
final Era era = IsoEra.CE;
System.out.println(era); // CE
System.out.println(era.getLong(ChronoField.ERA)); // 1
final Era era = IsoEra.BCE;
System.out.println(era); // BCE
System.out.println(era.getLong(ChronoField.ERA)); // 0
int getValue ()
final Era era = IsoEra.CE;
System.out.println(era); // CE
System.out.println(era.getValue()); // 1
final Era era = IsoEra.BCE;
System.out.println(era); // BCE
System.out.println(era.getValue()); // 0
default boolean isSupported (TemporalField field)
final Era era = IsoEra.CE;
System.out.println(era); // CE
System.out.println(era.isSupported(ChronoField.ERA)); // true
System.out.println(era.isSupported(ChronoField.YEAR)); // false
default <R> R query (TemporalQuery<R> query)
final Era era = IsoEra.CE;
System.out.println(era); // CE
final var ret = era.query(TemporalQueries.precision());
System.out.println(ret); // Eras
default ValueRange range (TemporalField field)
final Era era = IsoEra.CE;
System.out.println(era); // CE
System.out.println(era.range(ChronoField.ERA)); // 0 - 1
関連記事
- 日付・時刻の基本
- Date, CalendarではなくLocalDateTime, ZonedDateTimeを使おう
- 文字列と日付・時刻の変換
- 日付と時刻、曜日の計算
- 現在時刻(日時)の取得いろいろ
- 現在の曜日(DayOfWeek)を取得
- ZoneIdとZoneOffsetの違い
- API 使用例
- Calendar (カレンダー)
- ChronoLocalDate
- ChronoLocalDateTime
- ChronoZonedDateTime
- Clock (時計)
- Date (日付・時刻)
- DateTimeException (日付・時刻の例外)
- DateTimeParseException (日付・時刻の解析例外)
- DayOfWeek (曜日)
- Duration (時間の量)
- Era (紀元)
- Instant (時点)
- InstantSource
- JapaneseDate (和暦を使った日付)
- LocalDate (日付・タイムゾーンなし)
- LocalDateTime (日時・タイムゾーンなし)
- LocalTime (時刻・タイムゾーンなし)
- Month (月)
- MonthDay (月・日)
- OffsetDateTime (日時・オフセットあり)
- OffsetTime (時刻・オフセットあり)
- Period (日付の量)
- Temporal
- TemporalAccessor
- TemporalAdjuster (日付・時刻の調整)
- TemporalAdjusters (日付・時刻の調整ユーティリティ)
- TimeZone (タイムゾーン)
- Year (年)
- YearMonth (年・月)
- ZonedDateTime (日時・タイムゾーンあり)
- ZoneId (タイムゾーンID)
- ZoneOffset (タイムゾーン・オフセット)