Japanese Era Calendar Dates with Intl.DateTimeFormat
Format dates using the Japanese Imperial era calendar (Reiwa, Heisei, Showa) with Intl.DateTimeFormat. Learn about the -u-ca-japanese Unicode extension and era display options.
Detailed Explanation
Japanese Era Calendar Formatting
Japan uses a unique calendar system based on Imperial eras. The current era is Reiwa (令和), which began on May 1, 2019. The Intl.DateTimeFormat API supports this calendar through the -u-ca-japanese Unicode extension.
Basic Japanese Era Formatting
const date = new Date('2025-03-15');
new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
dateStyle: 'full',
}).format(date);
// "令和7年3月15日土曜日"
new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
dateStyle: 'long',
}).format(date);
// "令和7年3月15日"
new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
dateStyle: 'medium',
}).format(date);
// "令和7年3月15日"
Era Display Options
new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
era: 'long',
year: 'numeric',
month: 'long',
day: 'numeric',
}).format(date);
// "令和7年3月15日"
new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
era: 'short',
year: 'numeric',
}).format(date);
// "令和7年"
new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
era: 'narrow',
year: 'numeric',
}).format(date);
// "R7年"
Japanese Era Timeline
| Era | Japanese | Start Date | End Date |
|---|---|---|---|
| Reiwa | 令和 | 2019-05-01 | Present |
| Heisei | 平成 | 1989-01-08 | 2019-04-30 |
| Shōwa | 昭和 | 1926-12-25 | 1989-01-07 |
| Taishō | 大正 | 1912-07-30 | 1926-12-24 |
| Meiji | 明治 | 1868-10-23 | 1912-07-29 |
Cross-Era Formatting
// Heisei era date
const heisei = new Date('2018-06-15');
new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
dateStyle: 'long',
}).format(heisei);
// "平成30年6月15日"
// Showa era date
const showa = new Date('1985-03-01');
new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
dateStyle: 'long',
}).format(showa);
// "昭和60年3月1日"
Using in English with Japanese Calendar
new Intl.DateTimeFormat('en-US-u-ca-japanese', {
era: 'long',
year: 'numeric',
month: 'long',
day: 'numeric',
}).format(new Date('2025-03-15'));
// "March 15, 7 Reiwa"
This is useful for applications that need to show the Japanese era in English-language contexts.
Use Case
Japanese era calendar support is essential for applications serving Japanese users, particularly in government, legal, and financial contexts where Imperial era dates are the norm. Japanese official documents, forms, and correspondence frequently use era-based dates. A form accepting a date of birth in Japan needs to support era input. Financial reports and legal filings in Japan require era-format dates. Even consumer applications like calendars and scheduling tools serving Japanese users benefit from showing era information.
Try It — Locale String Tester
Related Topics
Date and Time Formatting by Locale with Intl.DateTimeFormat
Intl.DateTimeFormat
Arabic and Hebrew RTL Number Formatting with Intl
Intl.NumberFormat
Intl.DisplayNames API: Language, Region, Script, and Currency Names
Intl.DisplayNames
Intl.NumberFormat Basics: Locale-Aware Number Formatting
Intl.NumberFormat
Locale Fallback Chain: How Browsers Resolve Locale Requests
Advanced