hogehoge foobar Blog Style Beta

Web,Mac,Linux,JavaScript,Perl,PHP,RegExp,Git,Vim,Redmineなど技術的なことのメモや、ちょっと便利そうなものの紹介をしています。

new Dateで末日を求める

JavaScriptで、その月の末日を知りたい時があります。
閏年とかで複雑な計算式が必要と思いきや、意外と簡単に実現できました。

/* 末日が知りたい翌月の0日(前月の末日)を取得して末日を求める */
/* 翌月を指定するため『month-1』 をしない。 */
var date = new Date(year, month, 0);
var lastday = date.getDate();

new Dateの間違えやすいと思われる部分として、月の指定は『0〜11』で指定する必要があります。
『1〜12』を指定してしまうと翌月になってしまうので注意が必要です。
/* 2009年6月7を指定する場合 */
/* 月の指定は指定したい月-1で指定する。*/
var date = new Date(2009, 5, 7);

JavaScriptでの日付系の処理は、こちらのブログが大変参考になりました。
hoge256ブログ - JavaScript による日付・時刻・時間の計算・演算のまと