JDK-8042126 : DateTimeFormatter "MMMMM" returns English value in Japanese locale
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.time
  • Affected Version: 8u5
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2014-04-29
  • Updated: 2015-06-04
  • Resolved: 2014-09-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9
8u40Fixed 9 b34Fixed
Description
DateTimeFormatter.ofPattern("MMMMM") returns English month name in Japanese 
locale.

"M" represents month-of-year, and "MMMMM" represents the narrow form.
In Japanese locale, it should return "4" for April, but it returns "A".
"A" is English abbreviated month name and not used in Japanese locale.

"LLLLL" (stand-alone month-of-year) returns "4" expectedly.

Comments
The root cause - MonthNarrows is not defined for Japanese in resource bundle.
30-07-2014