MANA-DOT

PIXEL ART, PROGRAMING, ETC.

PHPのdate関数みたいなのをJavaScriptで

とりあえずY,m,d,H,i,sだけ使いたかったので、適当に実装してみた。 もっと綺麗な方法はいくらでもあるとおもう。

Date.prototype.format = function(formatStr) {
  var d=this, a = {
    Y:d.getFullYear,
    m:function(){return ('0'+(d.getMonth()+1)).slice(-2);},
    d:function(){return ('0'+d.getDate()).slice(-2);},
    H:function(){return ('0'+d.getHours()).slice(-2);},
    i:function(){return ('0'+d.getMinutes()).slice(-2);},
    s:function(){return ('0'+d.getSeconds()).slice(-2);}
  };
  return formatStr.replace(/[YmdHis]/g, function(l) {return a[l].apply(d);});
};

使用例は次のようなかんじ

new Date('2013-1-28 9:30:28').format('Y/m/d H-i-s');
// "2013/01/28 09-30-28"