uawdijnntqw1x1x1
IP : 216.73.216.163
Hostname : yjpwxulqtt
Kernel : Linux yjpwxulqtt 5.15.0-126-generic #136-Ubuntu SMP Wed Nov 6 10:38:22 UTC 2024 x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,system,passthru,shell_exec,proc_open,popen
OS : Linux
PATH:
/
home
/
user
/
web
/
pansionat-v-yaroslavle.ru
/
public_html
/
bitrix
/
modules
/
main
/
lib
/
.
/
type
/
.
/
datetime.php
/
/
<?php namespace Bitrix\Main\Type; use Bitrix\Main; use Bitrix\Main\Context; use Bitrix\Main\DB; class DateTime extends Date { /** * @param string $time String representation of datetime. * @param string $format PHP datetime format. If not specified, the format is got from the current culture. * @param \DateTimeZone $timezone Optional timezone object. * * @throws Main\ObjectException */ public function __construct($time = null, $format = null, \DateTimeZone $timezone = null) { if ($timezone === null) { $this->value = new \DateTime(); } else { $this->value = new \DateTime(null, $timezone); } if ($time !== null && $time !== "") { if ($format === null) { $format = static::getFormat(); } $parsedValue = date_parse_from_format($format, $time); //Ignore errors when format is longer than date //or date string is longer than format if ($parsedValue['error_count'] > 1) { if ( current($parsedValue['errors']) !== 'Trailing data' && current($parsedValue['errors']) !== 'Data missing' ) { throw new Main\ObjectException("Incorrect date/time: ".$time); } } $this->value->setDate($parsedValue['year'], $parsedValue['month'], $parsedValue['day']); $this->value->setTime($parsedValue['hour'], $parsedValue['minute'], $parsedValue['second']); if ( isset($parsedValue["relative"]) && isset($parsedValue["relative"]["second"]) && $parsedValue["relative"]["second"] != 0 ) { $this->value->add(new \DateInterval("PT".$parsedValue["relative"]["second"]."S")); } } } /** * Converts date to string, using Culture and global timezone settings. * * @param Context\Culture $culture Culture contains datetime format. * * @return string */ public function toString(Context\Culture $culture = null) { if(\CTimeZone::Enabled()) { $userTime = clone $this; $userTime->toUserTime(); $format = static::getFormat($culture); return $userTime->format($format); } else { return parent::toString($culture); } } /** * Returns timezone object. * * @return \DateTimeZone */ public function getTimeZone() { return $this->value->getTimezone(); } /** * Sets timezone object. * * @param \DateTimeZone $timezone Timezone object. * * @return DateTime */ public function setTimeZone(\DateTimeZone $timezone) { $this->value->setTimezone($timezone); return $this; } /** * Sets default timezone. * * @return DateTime */ public function setDefaultTimeZone() { $time = new \DateTime(); $this->setTimezone($time->getTimezone()); return $this; } /** * @param int $hour Hour value. * @param int $minute Minute value. * @param int $second Second value. * * @return DateTime */ public function setTime($hour, $minute, $second = 0) { $this->value->setTime($hour, $minute, $second); return $this; } /** * Changes time from server time to user time using global timezone settings. * * @return DateTime */ public function toUserTime() { //first, move to server timezone $this->setDefaultTimeZone(); //second, adjust time according global timezone offset static $diff = null; if($diff === null) { $diff = \CTimeZone::GetOffset(); } if($diff <> 0) { $this->add(($diff < 0? "-":"")."PT".abs($diff)."S"); } return $this; } /** * Creates DateTime object from local user time using global timezone settings and default culture. * * @param string $timeString Full or short formatted time. * * @return 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; } /** * Returns long (including time) date culture format. * * @param Context\Culture $culture Culture. * * @return string */ protected static function getCultureFormat(Context\Culture $culture) { return $culture->getDateTimeFormat(); } /** * Creates DateTime object from PHP \DateTime object. * * @param \DateTime $datetime Source object. * * @return static */ public static function createFromPhp(\DateTime $datetime) { /** @var DateTime $d */ $d = new static(); $d->value = $datetime; return $d; } /** * Creates DateTime object from Unix timestamp. * * @param int $timestamp Source timestamp. * * @return static */ public static function createFromTimestamp($timestamp) { /** @var DateTime $d */ $d = new static(); $d->value->setTimestamp($timestamp); return $d; } /** * Creates DateTime object from string. * NULL will be returned on failure. * @param string $timeString Full formatted time. * @param string $format PHP datetime format. If not specified, the format is got from the current culture. * @return DateTime|null */ public static function tryParse($timeString, $format = null) { if($timeString === '') { return null; } if ($format === null) { $format = static::getFormat(); } try { $time = new DateTime($timeString, $format); } catch(Main\ObjectException $e) { $time = null; } return $time; } }
/home/user/web/pansionat-v-yaroslavle.ru/public_html/bitrix/modules/main/lib/./type/./datetime.php