Yandex Metrika
sanches.free

Разность двух календарных дат через DateTimeImmutable и Intl-friendly вывод человекочитаемо

Разбор задачи

Создаём два объекта с явной временной зоной проекта затем берём diff и форматируем части интервала аккуратно для пользователя.

<?php
declare(strict_types=1);

$from = new DateTimeImmutable('2026-03-02 09:30', new DateTimeZone('Europe/Moscow'));
$to = new DateTimeImmutable('2026-03-05 21:05', new DateTimeZone('Europe/Moscow'));
$gap = $from->diff($to);
echo $gap->format('%d дн. %h ч. %i мин.');
?>

В админках Битрикс для SLA удобно хранить метки времени уже в TIMESTAMP_X поля и выводить перевод строк форматирования через Loc::getMessage.

Замечания перед выкладкой

Вносите правки только через среду с бэкапом и понятным diff. Если сниппет идёт в шаблон на Битрикс, проверьте конфликт с уже подключённым jQuery/UI и включите «отложенный» запуск там, где длинный главный файл может обрезать DOMContentLoaded.

Не хотите копаться сами?

Починю за 1-3 дня. Без предоплаты — оплата по результату.

15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии