移転しました。

JavaScriptで月の最終日を取得する

JavaScriptで月の最終日が何日かを取得するのが組み込みでないかと思って探してみたのだけど、どうもなさそう。ちゃちゃっと書いてはみたけれど、格好悪いなぁ。

function getEndDate(arg) {
  var d = new Date(
    arg.getYear(),
    arg.getMonth(),
    arg.getDate()
  );
  d.setMonth(d.getMonth() + 1);
  d.setDate(1);
  d.setTime(d.getTime() - 1);
  return d.getDate();
}



[追記]
突っ込みの入ったDateオブジェクトの拡張バージョン。

Date.prototype.last_day_of_month = function() {
  var d = new Date(
    this.getYear(),
    this.getMonth(),
    this.getDate()
  );
  d.setMonth(d.getMonth() + 1);
  d.setDate(1);
  d.setTime(d.getTime() - 1);
  return d.getDate();
};

last_day_of_monthって名前良いなぁ。いい加減、get〜とかset〜とかadd〜とか、Javaで覚えた命名も卒業しようかな。