如何将日文纪元日期字符串值解析为本地日期(&A;LocalDateTime) [英] How to parse 🎌 Japanese Era Date string values into LocalDate & LocalDateTime

查看:44
本文介绍了如何将日文纪元日期字符串值解析为本地日期(&A;LocalDateTime)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何通过Java 8 DateTime API解析输入到LocalDate/LocalDateTime中的日文纪元日期字符串?

日文日历日期示例;

明治23年11月29日
昭和22年5月3日
平成23年3月11日(金)14時46分
令和5年1月11日

推荐答案

通过以下方式使用DateTimeFormatter实现;

DateTimeFormatter japaneseEraDtf = DateTimeFormatter.ofPattern("GGGGy年M月d日")
        .withChronology(JapaneseChronology.INSTANCE)
        .withLocale(Locale.JAPAN);

其中,模式中的GGGG是表示the era
(例如平成Heisei)的日文字符的指示符,睡觉具有年/月/日的值及其各自的日文字符: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:46

这篇关于如何将日文纪元日期字符串值解析为本地日期(&A;LocalDateTime)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆