/** * 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 year * * @param \Magento\Framework\Stdlib\DateTime\DateInterface $dateStart * @param \Magento\Framework\Stdlib\DateTime\DateInterface $dateEnd * @param bool $firstInterval * @return array */ protected function _getYearInterval(\Magento\Framework\Stdlib\DateTime\DateInterface $dateStart, \Magento\Framework\Stdlib\DateTime\DateInterface $dateEnd, $firstInterval) { $interval = array(); $interval['period'] = $dateStart->toString('yyyy'); $interval['start'] = $firstInterval ? $dateStart->toString('yyyy-MM-dd 00:00:00') : $dateStart->toString('yyyy-01-01 00:00:00'); $lastInterval = $dateStart->compareYear($dateEnd->getYear()) == 0; $interval['end'] = $lastInterval ? $dateStart->setMonth($dateEnd->getMonth())->setDay($dateEnd->getDay())->toString('yyyy-MM-dd 23:59:59') : $dateStart->toString('yyyy-12-31 23:59:59'); $dateStart->addYear(1); if ($dateStart->compareYear($dateEnd->getYear()) == 0) { $dateStart->setMonth(1)->setDay(1); } return $interval; }