/** * Creates DateTime object from local user time using global timezone settings and default culture. * * @param string $timeString Full or short formatted time. * * @return Bitrix\Main\Type\DateTime */ public static function createFromUserTime($timeString) { /** @var DateTime $time */ try { //try full datetime format $time = new static($timeString); } catch(Main\ObjectException $e) { //try short date format $time = new static($timeString, Date::getFormat()); $time->setTime(0, 0, 0); } if(\CTimeZone::Enabled()) { static $diff = null; if($diff === null) { $diff = \CTimeZone::GetOffset(); } if($diff <> 0) { $time->add(($diff > 0? "-":"")."PT".abs($diff)."S"); } } return $time; }