先日、西暦を和暦に変換することがあり、調べると様々なオプションがあったので、10パターンまとめてみました。
変換10パターン
const date = new Date('2023/08/01 15:00:03')
// R5/8/1
const japaneseDate = date.toLocaleDateString('ja-JP-u-ca-japanese')
// 令和5/8/1
const japaneseDate2 = date.toLocaleDateString('ja-JP-u-ca-japanese', {
era: 'long'
})
// 令和5年8月1日
const japaneseDate3 = date.toLocaleDateString('ja-JP-u-ca-japanese', {
dateStyle: 'long'
})
// 令和5年8月1日火曜日
const japaneseDate4 = date.toLocaleDateString('ja-JP-u-ca-japanese', {
dateStyle: 'full'
})
// 令和5年
const japaneseDate5 = date.toLocaleDateString('ja-JP-u-ca-japanese', {
year: 'numeric',
})
// R05/08
const japaneseDate6 = date.toLocaleDateString('ja-JP-u-ca-japanese', {
year: '2-digit',
month: '2-digit'
})
// R5/8/1 午後03:00:03
const japaneseDate7 = date.toLocaleDateString('ja-JP-u-ca-japanese', {
hourCycle: 'h12',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
})
// R5/8/1 午後3:00:03
const japaneseDate8 = date.toLocaleDateString('ja-JP-u-ca-japanese', {
hourCycle: 'h12',
hour: 'numeric',
minute: 'numeric',
second: 'numeric',
})
// R05/08/01(火) 15時
const japaneseDate9 = date.toLocaleDateString('ja-JP-u-ca-japanese', {
year: '2-digit',
month: '2-digit',
day: '2-digit',
weekday: 'short',
hour: '2-digit',
})
// 令和5年08月01日火曜日 15:00:03
const japaneseDate10 = date.toLocaleDateString('ja-JP-u-ca-japanese', {
era: 'long',
year: '2-digit',
month: '2-digit',
day: '2-digit',
weekday: 'long',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
})
まとめ
わざわざ「2019年4月だから平成、2019年5月だから令和」みたいな処理を書かなくて済むので、うまく活用したいですね。
参考サイト
最後に
GoQSystemでは一緒に働いてくれる仲間を募集中です!
ご興味がある方は以下リンクよりご確認ください。