Exemplo n.º 1
0
 /**
  * Get interval for a month
  *
  * @param \Magento\Framework\Stdlib\DateTime\DateInterface $dateStart
  * @param \Magento\Framework\Stdlib\DateTime\DateInterface $dateEnd
  * @param bool $firstInterval
  * @return array
  */
 protected function _getMonthInterval(\Magento\Framework\Stdlib\DateTime\DateInterface $dateStart, \Magento\Framework\Stdlib\DateTime\DateInterface $dateEnd, $firstInterval)
 {
     $interval = array();
     $interval['period'] = $dateStart->toString('MM/yyyy');
     if ($firstInterval) {
         $interval['start'] = $dateStart->toString('yyyy-MM-dd 00:00:00');
     } else {
         $interval['start'] = $dateStart->toString('yyyy-MM-01 00:00:00');
     }
     $lastInterval = $dateStart->compareMonth($dateEnd->getMonth()) == 0;
     if ($lastInterval) {
         $interval['end'] = $dateStart->setDay($dateEnd->getDay())->toString('yyyy-MM-dd 23:59:59');
     } else {
         $interval['end'] = $dateStart->toString('yyyy-MM-' . date('t', $dateStart->getTimestamp()) . ' 23:59:59');
     }
     $dateStart->addMonth(1);
     if ($dateStart->compareMonth($dateEnd->getMonth()) == 0) {
         $dateStart->setDay(1);
     }
     return $interval;
 }