日付型をフォーマットしたりする

日頃は

C# で仕事してるので、node.js の日付操作したりするのが割りと手間だったりします。

例えば日付を yyyy-MM-dd にフォーマットする

これまでは以下のような関数で対処してました。どっかのサイトで拾ったのだと思いますが思い出せません。。

/**
 * 
 * @param Date date フォーマットしたい日付型
 */
function at(date) {
  if (!date) return '';
  return '' + date.getFullYear() + '-' + ('00' + (date.getMonth() + 1)).slice(-2) + '-' + ('00' + date.getDate()).slice(-2);
}

var dt = new Date();
var formatted = at(dt);

困ったので探しました

どうせなら仕事でも使えればいいので、あんまり node.js に依存してないのがいいなーと思ってましたがあっさり見つかりました。

node-date-utils

Github node-date-utils

github のREADME見てもらえれば全て分かるので説明は省きますが、普通にブラウザ実行用としても単体で動作するし、node.js のモジュールとしても使えます。これはいいですね。

さっきのを書き換えると
require('date-utils');

var dt = new Date();
var formatted = dt.toYMD();

引数にデリミタを設定すればスラッシュ区切りでも何でもできますね。
addDays とかも地味に嬉しい機能です。