Php 未来12个月的动态日期选项
我一直在努力实现以下目标:Php 未来12个月的动态日期选项,php,forms,date,datepicker,dynamic-data,Php,Forms,Date,Datepicker,Dynamic Data,我一直在努力实现以下目标: <option value="2011-11"><? echo $month[11]?> '11</option> <option value="2011-12"><? echo $month[12]?> '11</option> <option value="2012-1"><? echo $month[1]?> '12</option> <option
<option value="2011-11"><? echo $month[11]?> '11</option>
<option value="2011-12"><? echo $month[12]?> '11</option>
<option value="2012-1"><? echo $month[1]?> '12</option>
<option value="2012-2"><? echo $month[2]?> '12</option>
'11
'11
'12
'12
其中,根据今天的日期,以下各项是动态的:
<option value="YYYY-m"><? echo $month[12]?> 'yy</option>
'yy
并在今天之前的12个月内重复这一过程
我在PHP的基础知识方面取得了一些进步,我承认我需要比我更有知识的人的帮助
它看起来很简单,我经常用stackoverflow来解决问题,虽然在这个场合我花了太多的时间,取得了太少的进展
谁能帮我解决这个看似简单的挑战
谢谢你 这段代码是概念证明,可以实现您想要的目标
for($i=0;$i<=12;$i++)
{
$time = strtotime("today + ". $i." months");
print '<option value="'. date("Y-m", $time) .'">'.date("Y-m",$time).'</option>';
}
for($i=0;$i给你:
$time = time();
foreach (range(0, 12) as $i)
{
echo '<option value="' . date('Y-m', $time) . '">' . $month[date('m', $time)] . date('y', $time) . '</option>' . "\n";
if ($i >= 1)
{
$time = strtotime('next month', $time);
}
}
$time=time();
foreach(范围(0,12)为$i)
{
回显'.$month[日期('m',$time)]。日期('y',$time)。''.\n;
如果($i>=1)
{
$time=strottime(下个月,$time);
}
}
为任何发现问题的人发表评论
公认的答案是错误的。请参见此处:
改用这个:
<?php
for($i=0;$i<=12;$i++)
{
$time = strtotime("first day of +". $i." months");
print '<option value="'. date("Y-m", $time) .'">'.date("Y-m",$time).'</option>';
}
?>
你可以使用mktime
而不是strotime
来提高效率和预测其结果。这种方法考虑了年份的变化,这对mktime来说更具挑战性。谢谢Jan!!!我可以感觉到这是多么容易,学习PHP是一件很有挑战性的事情,尽管当事情顺利进行时,它很酷!最后,setlocale命令d不起作用,所以我只是使用了一个带有西班牙语月份名称的数组,然后像那样打印出来!再次感谢你真的帮助了我!!指出“的第一天”做得很好。我已经每天使用PHP超过10年了,strotime()因为它的强大性和灵活性而非常频繁。这是我第一次看到它被使用。