我有一个下拉列表,我想填充从去年开始的日期,从未来5年开始,但我希望它每年都能用php自动更新。
如果我展示我想要的结果而不是试图解释,可能会更容易。
今年的下拉列表应
<select>
<option>2012-08-31</option>
<option>2013-08-31</option>
<option>2014-08-31</option>
<option>2015-08-31</option>
</select>
而nextYears下拉应该是
<select>
<option>2013-08-31</option>
<option>2014-08-31</option>
<option>2015-08-31</option>
<option>2016-08-31</option>
</select>
等等。
有人有任何想法吗?
答案 0 :(得分:1)
增加岁月?
for($i=date('Y'); $i<date('Y')+5; $i++){
echo '<option>'.$i.date('-m-d').'</option>';
}
但最好使用mktime
答案 1 :(得分:1)
要添加一年,您可以使用
echo date('Y-m-d H:i:s', strtotime('+1 year'));
添加多年
for($i=1;$i<=5;$i++)
{
echo date('Y-m-d H:i:s', strtotime('+'.$i.' year'));
}
将其与选择框一起使用
<select name="years">
for($i=1;$i<=5;$i++)
{
?>
<option value="<?php echo date('Y-m-d H:i:s', strtotime('+'.$i.' year')); ?>"><?php echo date('Y-m-d H:i:s', strtotime('+'.$i.' year')); ?></option>
<?php
}
?>
</select>
答案 2 :(得分:1)
你可以制作这样的功能
function getNextYears($fromDate, $nbYears)
{
$time = strtotime($fromDate);
$dates = array();
for ($i=0; $i<$nbYears; $i++) {
$dates[] = date('Y-m-d', mktime(0, 0, 0, date('m', $time), date('d', $time), date('Y', $time)+$i));
}
return $dates;
}
答案 3 :(得分:0)
这样的事情可能对你有帮助
<?php
$start_year = date('Y')-1;
$end_year = $start_year+5;
for($i=$start_year; $i<=$end_year; $i++)
{
echo '<option>'.$i.date('-m-d').'</option>';
}
&GT;