2017年8月31日(木)
[JavaScript] new Date()を使いこなそう! #HTML5&CSS3&JavaScript 日付オブジェクトを発生させるときに、ちょっとしたテクニックがあります。
解説本などでは、下記のように示されている場合が多いですね。年が西暦4ケタ、月が(月-1)になっているのに注意が必要です。
--
<script>
$date = new Date(年,月,日[,時,分,秒,ミリ秒]);
/*
年:西暦4ケタ
月:0~11
日:1~31
時:0~23
分:0~59
秒:0~59
ミリ秒:0~999
[]内を省略可能。
*/
</script>
--
さて、上記の説明では、範囲以外の数字は使えないように思えてしまいます。実は、違います。
月末日や年末日を指定するのに、便利な記述があります。日に0を使うと1日の前日、つまり先月末日を示すことができて、自動的に日付オブジェクトの年月日を修正してくれます。末日は28日~31日と変化するので、この記述が有効です。
--
// 2017年8月31日
$date = new Date(2017,7,31);
$date = new Date(2017,8,0);
// 2017年12月31日
$date = new Date(2017,11,31);
$date = new Date(2018,0,0);
//
2020年2月29日
$date
=
new
Date(2020,1,29);
$date
=
new
Date(2020,2,0);
--
マイナス値や小数点も使えます。
--
// 2017年8月29日
$date = new Date(2017,7,29);
$date = new Date(2018,8,-2);
// 2017年8月31日12時
$date = new Date(2017,7,31,12,0,0,0);
$date = new Date(2018,7,31.5);
--
http://neconote.jp/prg/date.html