Бренды
Акции
Услуги
  • Разработка сайтов на 1С Битрикс
Компания
  • О компании
  • Сертификаты
  • Документы
  • Реквизиты
Блог
Контакты
Галерея
    +7 4912 99-38-48
    +7 4912 99-38-48
    Заказать звонок
    E-mail
    mail@rbs62.ru
    Адрес
    г. Рязань. Касимовское шоссе, д 57
    Режим работы
    Пн. – Пт.: с 9:00 до 18:00
    Заказать звонок
    РязБизнесСофт
    1С-Битрикс
    Лаборатория Касперского
    Мой Офис
    • 1С-Битрикс
      • 1С-Битрикс Управление сайтом
        • Лицензии
        • Переход на другую лицензию
        • Продление
    • Лаборатория Касперского
    • Мой Офис
    Каталог
    По всему сайту
    По каталогу
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    1С-Битрикс
    РязБизнесСофт
    Каталог
    По всему сайту
    По каталогу
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    РязБизнесСофт
    Телефоны
    +7 4912 99-38-48
    Заказать звонок
    0
    0
    0
    РязБизнесСофт
    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    • +7 4912 99-38-48
      • Назад
      • Телефоны
      • +7 4912 99-38-48
      • Заказать звонок
    • mail@rbs62.ru
    • г. Рязань. Касимовское шоссе, д 57
    • Пн. – Пт.: с 9:00 до 18:00
    Главная
    –
    Статьи
    –
    Разработка Битрикс
    –Работа с датой и временем в Битрикс D7

    Работа с датой и временем в Битрикс D7

    Обычно даты в ORM D7 являются объектами класса Bitrix\Main\Type\DateTime.

    use Bitrix\Main\Type\DateTime;

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

    $objDateTime = DateTime::createFromPhp(new \DateTime('2000-01-01'));
    $objDateTime = DateTime::createFromTimestamp(1346506620);
    

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

    // Текущее время:
    $objDateTime = new DateTime();
    // Из строки в формате текущего сайта
    $objDateTime = new DateTime("25.12.2012 12:30:00");
    // Из строки с указанием формата:
    $objDateTime = new DateTime("2007-05-14 12:10:00", "Y-m-d H:i:s");

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

    echo $objDateTime->getTimestamp();

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

    echo $objDateTime->toString();

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

    echo $objDateTime->format("Y-m-d H:i:s");

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

    $objDateTime = new DateTime("01.01.2012 00:00:00"); // "2012-01-01 00:00:00"
    $objDateTime->add("1 day"); // "2012-01-01 00:00:00" => "2012-01-02 00:00:00"
    $objDateTime->add("-1 day"); // "2012-01-01 00:00:00" =>"2011-12-31 00:00:00"
    $objDateTime->add("3 months - 5 days + 10 minutes"); // "2012-01-01 00:00:00" =>"2012-03-27 00:10:00"

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

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

    $objDateTime = new DateTime("01.01.2012 00:00:00"); // "2012-01-01 00:00:00"
    $objDateTime->add("7M5DT2M"); // "2012-01-01 00:00:00" =>"2012-08-06 00:02:00"
    $objDateTime->add("-2YT10M"); // "2012-01-01 00:00:00" =>"2009-12-31 23:50:00"

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

    Назад к списку
    • Все публикации 14
      • Информационная безопасность 2
      • Новости 2
      • Полезные сервисы 2
      • Разработка Битрикс 8
    Подпишитесь на рассылку наших новостей и акций
    Подписаться
    Подписаться
    на новости и акции
    Интернет-магазин
    Каталог
    Акции
    Бренды
    Услуги
    Компания
    О компании
    Сертификаты
    Документы
    Реквизиты
    Информация
    Реквизиты
    Магазины
    Возможности
    Помощь
    Условия оплаты
    Условия доставки
    Гарантия на товар
    Вопрос-ответ
    Обзоры
    Контакты
    +7 4912 99-38-48
    +7 4912 99-38-48
    Заказать звонок
    E-mail
    mail@rbs62.ru
    Адрес
    г. Рязань. Касимовское шоссе, д 57
    Режим работы
    Пн. – Пт.: с 9:00 до 18:00
    mail@rbs62.ru
    г. Рязань. Касимовское шоссе, д 57
    © 2026 РязБизнесСофт
    Конфиденциальность
    Оферта
    Разработано в
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Галерея Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры