📅  最后修改于: 2023-12-03 15:16:21.505000             🧑  作者: Mango
在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
参数指定要使用的语言环境。在上面的示例中,我们使用了完整的文本样式,并使用中文语言环境。