Полный цикл в digital

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

Большинство дат в ORM Битрикс ядра D7 являются объектами класса Bitrix\Main\Type\DateTime, перед работой всегда указываем пространство имен:

use Bitrix\Main\Type\DateTime;

Объект Битрикс можно получить из объекта PHP класса с помощью метода createFromPhp:

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

Объект Битрикс можно получить из timestamp с помощью метода createFromTimestamp:

$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');
// из произвольного формата с указанием часового пояса
$objDateTime = new DateTime('2018-06-14 02:20:00', 'Y-m-d H:i:s', new \DateTimeZone('Europe/Moscow'));

Что можно получить из объекта

// представление в виде timestamp
echo $objDateTime->getTimestamp();
// в виде строки в формате текущего сайта
echo $objDateTime->toString();
// в произвольном формате (фактически обёртка над DateTime::format)
echo $objDateTime->format('Y-m-d H:i:s');
// получение формата даты/времени текущего сайта или настроек в админ. части
echo DateTime::getFormat() // результат, например, "d.m.Y H:i:s"

Метод add()

Метод add реализует сложение и вычитание дат, можно указывать смещение словами и знаками:

  • years
  • months
  • days
  • weeks
  • hours
  • minutes
  • seconds
  • +
  • -
// "2012-01-01 00:00:00"
$objDateTime = new DateTime('01.01.2012 00:00:00'); 
// было "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('-1 day'); 
// было "2012-01-01 00:00:00" стало "2012-03-27 00:10:00"
$objDateTime->add('3 months - 5 days + 10 minutes'); 
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг