/** * Convert date to UNIX timestamp * Returns current UNIX timestamp if date is true * * @param \Magento\Framework\Stdlib\DateTime\DateInterface|bool $date * @return int */ public function toTimestamp($date) { if ($date instanceof \Magento\Framework\Stdlib\DateTime\DateInterface) { return $date->getTimestamp(); } if ($date === true) { return time(); } return strtotime($date); }
/** * 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; }