📌  相关文章
📜  Java中的 ChronoLocalDate getEra() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:21.505000             🧑  作者: Mango

Java中的 ChronoLocalDate getEra() 方法及示例

在Java中,ChronoLocalDate是一个表示日期的接口,它定义了许多方法来获取日期的不同属性。其中一个方法是getEra(),该方法返回ChronoEra对象,表示日期是属于哪个时代。

方法签名
ChronoEra getEra();
返回值

返回ChronoEra对象,表示日期是属于哪个时代。

示例

以下示例展示了如何使用getEra()方法获取日期的时代:

import java.time.LocalDate;
import java.time.chrono.JapaneseChronology;
import java.time.chrono.JapaneseEra;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        // 创建一个日本日期对象
        LocalDate date = LocalDate.of(2019, 11, 23);
        // 获取日本时间轴
        JapaneseChronology chrono = JapaneseChronology.INSTANCE;
        // 将日期转换为日本日期
        JapaneseDate japaneseDate = chrono.date(date);
        // 获取日期所属的时代
        JapaneseEra era = japaneseDate.getEra();
        // 使用DateTimeFormatter格式化日期和时代
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("GGGGy年M月d日");
        String formattedDate = japaneseDate.format(formatter);
        String formattedEra = era.getDisplayName(TextStyle.FULL, Locale.CHINESE);
        // 打印结果
        System.out.println(formattedDate + " " + formattedEra); 
    }
}

输出结果为:

平成31年11月23日 平成

在上面的示例中,我们创建了一个日期对象date表示2019年11月23日。然后,我们使用JapaneseChronology将日期转换为日本日期(JapaneseDate)。接下来,我们使用getEra()方法获取日期所属的时代,并使用DateTimeFormatter格式化日期和时代的字符串表示。最后,我们将日期和时代的字符串打印出来。

这是一个日本日期,因此它所属的时代是平成。日本历法使用不同的时代名称,如平成、昭和等。getDisplayName()方法用于获取时代名称,其中TextStyle参数指定要使用的文本样式,Locale参数指定要使用的语言环境。在上面的示例中,我们使用了完整的文本样式,并使用中文语言环境。