如何在php中获得接下来的四个月?

时间:2012-05-10 14:01:46

标签: php

我希望在下拉框中获得当前月份和未来三个月的年份,问题是当2012年11月到来时,上个月将是2013年1月,如果当前月份是2012年12月,则巢穴将是3个月

january2013 2013年2月 march2013

在下拉列表中应该看起来像

December2012
january2013
february2013
march2013

5 个答案:

答案 0 :(得分:8)

尝试这样的事情:

$this_month = mktime(0, 0, 0, date('m'), 1, date('Y'));
for ($i = 0; $i < 4; ++$i) {
    echo date('M Y', strtotime($i.' month', $this_month)) . '<br/>';
}

答案 1 :(得分:2)

如果你感觉有点面向对象:

date_default_timezone_set('Europe/Stockholm');
$now = new DateTime(date('Y-m'));
$period = new DatePeriod($now, new DateInterval('P1M'), 3);

foreach ($period as $date)
{
    print $date->format('MY');
}

答案 2 :(得分:1)

echo date('F Y') . "\n";
echo date('F Y', strtotime('+1 month', time())) . "\n";
echo date('F Y', strtotime('+2 month', time())) . "\n";
echo date('F Y', strtotime('+3 month', time())) . "\n";

答案 3 :(得分:0)

$t = time();
$m = date('n', $t);
$d = date('j', $t);
$y = date('Y', $t);
for ($i = 0; $i < 4; $i++)
{
    echo date('FY\n', mktime(0, 0, 0, ($m + $i - 1) % 12 + 1, $d, $y + ($m + $i > 12 ? 1 : 0)));
}

答案 4 :(得分:0)

$ this_month = mktime(0,0,0,日期(&#39; m&#39;),1,日期(&#39; Y&#39;));

for($ i = 0; $ i&lt; 4; $ i ++){

回音日期(&#34; M Y&#34;,strtotime($ i。&#34; month&#34;,$ this_month))。&#39;
&#39 ;;

}