Июнь 14, 2018
Теги: Основное
Работа с датой и временем средствами классов "\Bitrix\Main\Type\Date" и "\Bitrix\Main\Type\DateTime".
Класс "\Bitrix\Main\Type\DateTime" является расширением класса "\Bitrix\Main\Type\Date".
Создание объекта "\Bitrix\Main\Type\DateTime" из формата сайта:
Создание объекта "\Bitrix\Main\Type\DateTime" из произвольного формата:
Создание объекта "\Bitrix\Main\Type\Date" из формата сайта:
Создание объекта "\Bitrix\Main\Type\DateTime" из произвольного формата с проверкой на ошибочный формат:
Создание объекта "\Bitrix\Main\Type\DateTime" из произвольного формата с указанием часового пояса (часовой пояс указывается в формате php \DateTimeZone):
Получение формата даты/времени текущего сайта или настроек в админ. части:
Создание объекта "\Bitrix\Main\Type\DateTime" из unix timestamp:
Создание объекта "\Bitrix\Main\Type\DateTime" из php \DateTime:
Создание объекта "\Bitrix\Main\Type\DateTime" из времени заданного строкой:
Вывод времени в формате текущего сайта с проверкой объекта:
Вывод времени в формате сайта "s4", в случае, если это не текущий сайт:
$siteResult = \Bitrix\Main\SiteTable::getList(array(
'filter' => array('=LID'=>'s4'),
'select' => array('CULTURE_ID'),
'limit' => 1,
));
if($site = $siteResult->fetch())
{
$cultureFields = \Bitrix\Main\Localization\CultureTable::getById($site['CULTURE_ID'])->fetch();
$culture = new \Bitrix\Main\Context\Culture($cultureFields);
echo $dateTime->toString($culture);
}
Вывод времени в формате, заданном с помощью региональных настроек:
$culture = new \Bitrix\Main\Context\Culture(array(
"FORMAT_DATE" => "MM/DD/YYYY",
"FORMAT_DATETIME" => "MM/DD/YYYY HH:MI:SS",
"FORMAT_NAME" => "#NAME# #LAST_NAME#",
"CHARSET" => "UTF-8",
"DIRECTION" => 'Y',
"WEEK_START" => 0
));
//$culture = \Bitrix\Main\Context::getCurrent()->getCulture(); // текущие региональные настройки
echo $dateTime->toString($culture);
Также можно получить формат даты/времени из региональных настроек (в формате битрикс):
Или в формате php:
Сложение и вычитание дат с использованием читаемого формата:
Получение текущей временной зоны объекта:
Установка текущей временной зоны объекта:
Создание объекта "\Bitrix\Main\Type\DateTime" из локального времени пользователя с переводом в глобальные настройки сервера:
Перевести формат времени из формата битрикс в формат php:
Проверка на корректность даты: