如何通过Java8JavaAPI将日本时代的日期字符串输入解析为LocalDate/LocalDateTime?
例如日本历法;
明治23年11月29日
昭和22年5月3日
平成23年3月11日(金)14時46分
令和5年1月11日发布于 2019-07-24 03:17:56
它是通过以下方式利用DateTimeFormatter来实现的;
DateTimeFormatter japaneseEraDtf = DateTimeFormatter.ofPattern("GGGGy年M月d日")
.withChronology(JapaneseChronology.INSTANCE)
.withLocale(Locale.JAPAN);模式中的GGGG是表示时代的日语字符的标识符。
(例如,平成 黑塞),其余的年/月/日值都有各自的日语字符:y年表示年份,M月表示月份,d日表示日期。
LocalDate.parse("明治23年11月29日", japaneseEraDtf);
LocalDate.parse("昭和22年5月3日", japaneseEraDtf);
LocalDate.parse("令和5年1月11日", japaneseEraDtf);将给予;
1890-11-29
1947-05-03
2023-01-11对于LocalDateTime,通过在japaneseEraDtf中使用更新的模式"GGGGy年M月d日(E)HH時mm分";
LocalDateTime.parse("平成23年3月11日(金)14時46分", japaneseEraDtf);将导致;
2011-03-11T14:46https://stackoverflow.com/questions/57174739
复制相似问题