Php 在每个迭代中添加一个月的时间戳

Php 在每个迭代中添加一个月的时间戳,php,Php,下面是我的PHP代码,它生成了一个带有月份名称+年份的选择框。我在循环中使用了两个时间戳,分别是开始时间戳和结束时间戳 现在的问题是,例如,如果我的开始时间戳表示2011年7月1日 在循环中,我只在时间戳中添加了30天,然后我选择框7月将显示两次。 如果我加上31天,那么可能是一个月了 是否有任何函数可以为每个迭代添加精确的一个月 <select name="checkinMonth" class="selectform" id="checkinMonth" > <?php

下面是我的PHP代码,它生成了一个带有月份名称+年份的选择框。我在循环中使用了两个时间戳,分别是开始时间戳和结束时间戳

现在的问题是,例如,如果我的开始时间戳表示2011年7月1日 在循环中,我只在时间戳中添加了30天,然后我选择框7月将显示两次。 如果我加上31天,那么可能是一个月了

是否有任何函数可以为每个迭代添加精确的一个月

<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> 


您是否正在寻找类似于:

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

如果您喜欢更详细的内容,请尝试以下方法:

$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);
我想你必须把它放在它自己的函数中,使它适合于for子句:p