Sep 23, 2010 23:39
Давненько, тут не появлялось кода. Исправлю ситуацию.
Есть задача получить список месяцев между датами $d1 - $d2.
Самое простое (хотя и не самое быстрое) решение, что приходит в голову воспользоваться strtotime(), чтобы сделать итератор по месяцам. Осталось только узнать, сколько же месяцев в диапазоне $d1 - $d2.
$t = $d1;
$months = (date('Y', $d2) - date('Y', $d1)) * 12 + date('n', $d2) - date('n', $d1) + 1;
for($i = 0; $i < $months; $i++){
echo date('Y-m-01', $t), "\n";
$t = strtotime('+1 month', $t);
}
Интересно, как это можно было бы сделать изящнее...
UPD:
"Например, так", - сказал Denny:
for($t = $d1; $t <= $d2; $t = strtotime('+1 month', $t)){
echo date('Y-m-01', $t), "\n";
}
мдя... я, как обычно, легких путей не ищу
php