Какой самый чистый способ использовать цикл в PHP для перечисления дат следующим образом?
2011_10
2011_09
2011_08
2011_07
2011_06
...
2010_03
2009_02
2009_01
2009_12
2009_11
Ключевые элементы здесь:
- Должно быть как можно проще- Я бы предпочел один цикл for вместо двух.
- Должен указывать дату этого месяца в качестве первой и останавливаться на фиксированной точке (2009-11)
- Не должен прерываться вБудущее (например, вычитание 30-дневного количества секунд, вероятно, сработает, но в конечном итоге сломается, поскольку в каждом месяце нет точного количества секунд)
Пришлось внести несколько изменений в решение:1014 *
// Set timezone
date_default_timezone_set('UTC');
// Start date
$date = date('Y').'-'.date('m').'-01';
// End date
$end_date = '2009-1-1';
while (strtotime($date) >= strtotime($end_date))
{
$date = date ("Y-m-d", strtotime("-1 month", strtotime($date)));
echo substr($date,0,7);
echo "\n";
}