Corredor

ウェブ、プログラミングの勉強メモ。

JavaScript で和暦取得できたのね…

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

生の JavaScript で、toLocaleDateString() を使うと和暦が取得できたことを知った。

// 和暦にするには 'ja-JP-u-ca-japanese' を指定する
new Date().toLocaleDateString('ja-JP-u-ca-japanese', {
  era    : 'long'   ,  // 時代 : 'narrow' にすると '平成' は 'H' になる
  year   : 'numeric',  // 年 : 'ja-JP-u-ca-japanese' の場合は和暦
  month  : 'long'   ,  // 月
  day    : 'numeric',  // 日
  weekday: 'short'  ,  // 曜日 : 'long' で '金曜日'・'short' で '(金)' になる
  hour12 : true     ,  // 時間の12時間表記 : false にすると '16' (時) ではなく '午後4' (時) になる
  hour   : 'numeric',  // 時
  minute : 'numeric',  // 分
  second : 'numeric'   // 秒
});

// ==> "平成30年1月19日(金) 午後4:14:10"

こんな感じ。

toLocaleDateString() の第1引数で ja-JP-u-ca-japanese を指定すると年が和暦になる。

第2引数のオプション群で、year だけ指定して { year: 'numeric' } とすれば、'平成30年' という文字列だけ取れる。第2引数のオプション群に指定できる内容は以下を参照。

moment.js などを使わなくても、ちょっとした日付データならこうやって生の JavaScript だけでなんとかできるかも。