* @link http://cakephp.org CakePHP(tm) Project * @license http://www.opensource.org/licenses/mit-license.php MIT License */ namespace Cake\Chronos\Traits; /** * Methods for modifying/reading timezone data. */ trait TimezoneTrait { /** * Alias for setTimezone() * * @param \DateTimeZone|string $value The DateTimeZone object or timezone name to use. * @return static */ public function timezone($value) { return $this->setTimezone($value); } /** * Alias for setTimezone() * * @param \DateTimeZone|string $value The DateTimeZone object or timezone name to use. * @return static */ public function tz($value) { return $this->setTimezone($value); } /** * Set the instance's timezone from a string or object * * @param \DateTimeZone|string $value The DateTimeZone object or timezone name to use. * @return static */ public function setTimezone($value) { $date = parent::setTimezone(static::safeCreateDateTimeZone($value)); // https://bugs.php.net/bug.php?id=72338 // this is workaround for this bug // Needed for PHP below 7.0 version $date->getTimestamp(); return $date; } }