2011-07-01 28 views
5

月名+年の選択ボックスを生成する私のPHPコードです。私は、タイムスタンプを開始し、タイムスタンプを終了するループで使用している2つのタイムスタンプを持っています。各繰り返しのタイムスタンプに月を追加する

例えば、私の開始タイムスタンプが01.07.2011 を表し、ループのようにタイムスタンプに30日しか追加しない場合、selectBox Julyは2回表示されます。 と私は31日を追加した場合、月がスキップされることがあります。

各繰り返しに正確に1か月を追加できる機能はありますか?

<select name="checkinMonth" class="selectform" id="checkinMonth" > 
<?php 
    for($month = $checkin_timestamp; $month <= $checkout_timestamp; $month += 30*60*60*24) { 
     $checkin_month = getdate($month); 
     $option_text = strftime("%B %Y",$month); 
     $option_value = strftime("%Y%m", $month); 
     $selected = ($checkin_selected == $option_value ? "selected='selected'" : ""); 

     echo "<option value='{$option_value}' {$selected}>{$option_text}</option>"; 
    } 
?> 
</select> 

答えて

21

あなたのような何かを探してい:私はあなたが必要がありますね

$tmp_year = date("Y", $month); 
$tmp_month = date("m", $month); 
$tmp_day = date("d", $month); 
$tmp_hour = date("H", $month); 
$tmp_min = date("m", $month); 
$tmp_sec = date("s", $month); 

$month = mktime($tmp_hour, $tmp_minute, $tmp_second, $tmp_month + 1, $tmp_day, $tmp_year); 

strtotime("+1 month", $myTimestamp); 

http://us2.php.net/strtotime

4

そして、あなたより詳細な空想何かあれば、これを試してみてくださいその句に適合するようにそれ自身の関数に入れる:P

関連する問題