/** * @param int|string|\DateTime|TransDate $date * * @return TransDate * * @throws DateInvalidObjectException */ private function getDateObject($date) { // We've already a valid date object. Don't set the timezone, it may get messy otherwise if ($date instanceof TransDate) { return $date; } // If it's a valid date format or a DateTime object we can simply call the constructor if (is_int($date) || @strtotime($date) !== false || $date == null || $date instanceof \DateTime) { $date = new TransDate($date); } else { throw new DateInvalidObjectException(); } // Figure out our timezone $timezone = $this->settings->get('user.timezone', 'default'); if ($timezone == 'default') { $timezone = trans('general.timezone'); } return $date->setTimezone($timezone); }