Re: Will we have any option to format 2019 as 元号元年?

Naoto Sato naoto.sato at oracle.com
Tue Jan 29 16:22:01 UTC 2019


Hi Kishida-san,

Currently we don't have a plan to support Gannen in java.time for 
formatting/parsing Japanese calendar dates. Here are a couple of 
workarounds:

1. Use java.text APIs to format/parse dates, e.g.,

jshell> new SimpleDateFormat("GGGGyyyy年", 
Locale.forLanguageTag("ja-JP-u-ca-japanese")).format(new 
Calendar.Builder().setDate(2019, Calendar.MAY, 1).build().getTime())
$3 ==> "元号元年"

2. For java.time API, use 
DateTimeFormatterBuilder.appendText(TemporalField, Map<Long, String>) to 
map the 1 to "元". Following issue demonstrates how to do it:

https://bugs.openjdk.java.net/browse/JDK-8042131

HTH,
Naoto

On 1/29/19 4:21 AM, kishida naoki wrote:
> As you know, Japanese government have a plan to change the era on May.
> It will be the first year of the new era.
> In practice, we describe the first year as "元年" not as "1年"
> 
> Now DateTimeFormatter with `G` output the era.
> `DateTimeFormatter.ofPattern("Gy年").format(JapaneseDate.of(2019, 5, 2))`
> output `元号1年`
> 
> Do you have any plan to have a option to format it as `元号元年` or already
> implemented?
> 


More information about the core-libs-dev mailing list