Просмотр поста

.
Screamer

Получаем временные интервалы:

$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