Битрикс текущая дата и время

Большинство дат в ORM D7 являются объектами класса BitrixMainTypeDateTime. Для сокращения используем:

Объект Datetime является практически аналогом встроенного в PHP класса DateTime, но от него не наследуется. Объект Битрикс-класса можно получить из объекта PHP-класса с помощью метода createFromPhp или из timestamp с помощью createFromTimestamp:

Также есть конструкторы:

Из объекта можно получить представление в виде timestamp:

в виде строки в формате текущего сайта:

в произвольном формате (фактически обёртка над DateTime::format):

Метод add реализует сложение и вычитание дат, можно указывать смещение словами years, months, days, weeks, hours, minutes, seconds и знаками +/-:

Метод add изменяет объект, здесь для наглядности приведены результаты вызова add с начального состояния $objDateTime.

Также в add можно указывать смещение в формате DateInterval (но буква P в начале строки необязательна):

При указании смещения следует указывать периоды, от большей единицы до меньшей (например, года, месяцы, часы).

Фильтрация по дате активности

Для $arFilter использовать DATE_ACTIVE_FROM , DATE_ACTIVE_TO , подробнее

Приведение даты в PHP-формат

Элементы имеют следующие параметры:

Разница в днях между датами

Разница в днях между датой элемента и текущей датой:

Возможно, что битрикс хранит дату записи в одной зоне, а текущее время new DateTime() — в другой. Поэтому разница только что созданной записи и текущего времени таким образом может быть не равна нулю!

Округление идет в меньшую сторону, т.е. разница в 23 часа 59 мин 59 сек = 0 дней. Можно сказать, что если $date->diff($now)->format(‘%a’) >= 1 , прошло минимум 24 часа.

Точное значение в годах, месяцах, днях, часах, минутах и секундах:

Разница в секундах — именно не по секундам, а общая в секундах:

Отмотать дату

Отмотать дату на начало предыдущего дня ( $numDays = 1 ) или позавчера ( $numDays = 2 ), причем с округлением до полуночи:

Начало месяца и начало квартала

Дата начала месяца и квартала для текущей даты.

Работа с датой и временем средствами классов "BitrixMainTypeDate" и "BitrixMainTypeDateTime".

Класс "BitrixMainTypeDateTime" является расширением класса "BitrixMainTypeDate".

Создание объекта "BitrixMainTypeDateTime" из формата сайта:

Создание объекта "BitrixMainTypeDateTime" из произвольного формата:

Создание объекта "BitrixMainTypeDateTime" из произвольного формата с указанием часового пояса (часовой пояс указывается в формате php DateTimeZone):

Получение формата даты/времени текущего сайта или настроек в админ. части:

Создание объекта "BitrixMainTypeDateTime" из unix timestamp:

Создание объекта "BitrixMainTypeDateTime" из php DateTime:

Создание объекта "BitrixMainTypeDateTime" из времени заданного строкой:

Время в формате текущего сайта:

Время в формате unix timestamp:

Время в произвольном формате:

Вывод времени в формате текущего сайта с проверкой объекта:

Вывод времени в формате, заданном с помощью региональных настроек:

Также можно получить формат даты/времени из региональных настроек (в формате битрикс):

Или в формате php:

Сложение и вычитание дат с использованием читаемого формата:

Сложение и вычитание дат с использованием формата DateInterval:

Получение текущей временной зоны объекта:

Установка текущей временной зоны объекта:

Установка временной зоны по умолчанию:

Создание объекта "BitrixMainTypeDateTime" из локального времени пользователя с переводом в глобальные настройки сервера:

Время с учетом настроек пользователя:

Перевести формат времени из формата битрикс в формат php:

Оцените статью
Добавить комментарий