buræquete:
Cómo analizar los insumos fecha de cuerda era japonesa en LocalDate/LocalDateTime
medio de la API de Java 8 DateTime?
Ejemplo fechas del calendario japonés;
明治23年11月29日
昭和22年5月3日
平成23年3月11日(金)14時46分
令和5年1月11日
buræquete:
Esto se logra mediante la utilización DateTimeFormatter
de la siguiente manera;
DateTimeFormatter japaneseEraDtf = DateTimeFormatter.ofPattern("GGGGy年M月d日")
.withChronology(JapaneseChronology.INSTANCE)
.withLocale(Locale.JAPAN);
donde GGGG
en el patrón es el designador de los caracteres japoneses que representan la época
(por ejemplo, 平成
Heisei ), y el resto con valores de año / mes / día, con sus respectivos caracteres japoneses: y年
para el año, M月
el mes, d日
para el día.
LocalDate.parse("明治23年11月29日", japaneseEraDtf);
LocalDate.parse("昭和22年5月3日", japaneseEraDtf);
LocalDate.parse("令和5年1月11日", japaneseEraDtf);
dará a cabo;
1890-11-29
1947-05-03
2023-01-11
Para LocalDateTime
, al utilizar el patrón actualizado "GGGGy年M月d日(E)HH時mm分"
en japaneseEraDtf
;
LocalDateTime.parse("平成23年3月11日(金)14時46分", japaneseEraDtf);
resultará en;
2011-03-11T14:46