首页 > 解决方案 > 如何在java中将西方日期转换为日本日期?

问题描述

我有一串西方日期。我想要的是日文格式。

String date = "2015-06-01";

我想要的是日文格式。请帮我!

output = 平成27年6月1日

标签: androidcalendar

解决方案


作为对 Meno Hochschild 答案的一个小补充,如果您想为此使用 java.time ,您可以这样做:

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

    String date = "2015-06-01";
    LocalDate gregorianDate = LocalDate.parse(date);
    JapaneseDate japaneseDate = JapaneseDate.from(gregorianDate);
    System.out.println(japaneseDate.format(japaneseEraDtf));

输出是:

平成27年6月1日</p>

我想这是你要求的。

如果我理解正确,java.time 不会像日本人通常期望的那样格式化一个时代的第一年,而 Meno Hochschild 的 Time4A 库会这样做,所以在所有条件相同的情况下,你会更喜欢他的答案。

我从buræquete 的这个答案中偷走了格式化程序。


推荐阅读