1

我想在下拉框中获取当前月份和接下来的三个月,问题是当 2012 年 11 月到来时,最后一个月是 2013 年 1 月,如果当前月份是 2012 年 12 月,那么巢三个月将是

2013 年 1 月 2013 年 2 月 2013 年 3 月

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

December2012
january2013
february2013
march2013
4

5 回答 5

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/>';
}
于 2012-05-10T14:05:47.213 回答
2
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";
于 2012-05-10T14:13:10.290 回答
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');
}
于 2012-05-10T14:17:11.097 回答
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)));
}
于 2012-05-10T14:12:45.897 回答
0

$this_month = mktime(0, 0, 0, date('m'), 1, date('Y'));

for($i=0;$i<4;$i++) {

echo date("MY", strtotime($i." month", $this_month)) 。'
';

}

于 2017-06-30T11:05:57.723 回答