JavaScript で日時 (Date) を自前で整形

  • 1
    Like
  • 0
    Comment
More than 1 year has passed since last update.

JavaScript の Date 標準の toString() とか toLocaleString() とかでも良いんだけど、明示的に形式を指定したい場合は何かしらのライブラリを使うか自前でなんとかするしかないっぽい。今回は自前でやる。

今回は YYYY/MM/DD hh:mm:ss のような形式の文字列を返す関数を作る。

作成する関数

// "YYYY/MM/DD hh:mm:ss" のような形式の文字列を返す
function getDateTimeString(t){
  function pad(n, width, z){
    z = z || '0';
    n = n + '';
    return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
  }
  if(!t){
    t = new Date();
  }
  var date = t.getFullYear() + '/' + pad(t.getMonth() + 1, 2) + '/' + pad(t.getDate(), 2);
  var time = pad(t.getHours(), 2) + ':' + pad(t.getMinutes(), 2) + ':' + pad(t.getSeconds(), 2);
  var datetime = date + ' ' + time;
  return datetime;
}

使い方

// 現在日時を出力
console.log(getDateTimeString());

// 10時間後の日時を出力
var t = new Date();
t.setHours(t.getHours() + 10);
console.log(getDateTimeString(t));