Получаем временные интервалы:
$dates = array(
'start' => 1356998400,
'end' => 1362581675,
);
$period = new DatePeriod(
new DateTime(date('d.m.Y H:i:s', $dates['first'])),
DateInterval::createFromDateString('+1 months'),
new DateTime(date('d.m.Y H:i:s', $dates['last']))
);
$dates = array();
foreach($period as $dt) {
$time = $dt->format('F Y');
$dt->modify('+1 months');
$dates[$time] = array(
'start' => strtotime($time),
'end' => strtotime($dt->format('F Y')),
);
}
var_dump($dates);На выходе будет что то вроде этого:
array (size=3)
'January 2013' =>
array (size=2)
'start' => int 1356998400
'end' => int 1359676800
'February 2013' =>
array (size=2)
'start' => int 1359676800
'end' => int 1362096000
'March 2013' =>
array (size=2)
'start' => int 1362096000
'end' => int 1364774400