日付のセレクトボックスとか作る時に
0付きの日付をセレクトボックスで指定したい時とか、
ただ単にfor文で増分1で31回繰り返しても1〜9は01〜09にはなりません。
そんな時に使える方法。
0付きの月を表示
<?php print"<select name=\"month\">"; for( $j = 1; $j <= 12; $j++ ){ print"<option value=".date("m",2678400*($j-1)).">".date("m",2678400*($j-1))."</option>"; } print"</select>月"; ?>
date関数を使ってフォーマットする。
mは0付きの月を表示するオプション。
値に設定した2678400というのはひと月を表す数値。それに1〜12をかけて、整形する。
2678400 = 60(秒)×60(分)×24(時間)×31(日)。
0付きの日を表示
<?php print"<select name=\"day\">"; for( $k = 1; $k <= 31; $k++ ){ print"<option value=".date("d",86400*($k-1)).">".date("d",86400*($k-1))."</option>"; } print"</select>日"; ?>
日付に関しては毎月31日までではない。
<? $month = 2; //指定の月 print date("t",2678400*($month-1)); //28を表示 ?>
これでその月の最終日を求める事が出来る。