Fly higher! Sky is the limit!

webの現場で働く人のブログ

[JS]日付処理 × replace × 置換 × 後方置換

(例)2016/02/04 → 2016年2月4日 にしたい場合。

  /*日付置換*/
  var date = '2016/02/04';
  date = date.replace(/^(\d+)\/(\d+)\/(\d+)$/, function(){
        var month,day;
        month = arguments[2];
        day = arguments[3];
        month = month ? month.replace(/^0/,'') : '';
        day = day ? day.replace(/^0/,'') : '';
        return arguments[1] + "年"+ month + "月" + day + "日";
    });
  1. 文字列をスラッシュのところまでで三分割し、yyyy | mm | dd の形にする。
  2. 三分割したうちのmmとddのみ変数に代入
  3. 01日、02日などの0から始まる日付を三項演算子を使用し検索置換する。
  4. returnにて、変更した値を返す。

DEMO

See the Pen blog01 by @paradox_tm (@takumaro-web) on CodePen.

外部APIJSONから吐き出される日付を変更したい場合などに使えます。

日付処理の優秀なプラグインといえば、Moment.js | Homeがありますが、出力される形式(フォーマット)が決まっているのであれば、わざわざプラグインを使用しなくても対応できることもあるので少しでも参考になればと思います。