Явно задаём GMT+3, чтобы результат не зависел от часового пояса компьютера или сеанса.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используется фиксированная дата, а не ТекущаяДата: результаты можно сравнить независимо от дня запуска.
Данные создаются только в памяти учебной базы; рабочие документы и регистры не меняются.
Выполняйте на сервере: явный аргумент часового пояса поддерживается в указанном контексте.
Значение МоментUTC уже известно как UTC по учебному контракту. Дата не прикрепляет к нему метку UTC автоматически.
МоментUTC = Дата(2026, 9, 15, 9, 0, 0);
МестныйМомент = МестноеВремя(МоментUTC, "GMT+3");
ВосстановленныйUTC = УниверсальноеВремя(МестныйМомент, "GMT+3");
Сообщить(Формат(МоментUTC, "ДФ=yyyy-MM-dd HH:mm:ss"));
Сообщить(Формат(МестныйМомент, "ДФ=yyyy-MM-dd HH:mm:ss"));
Сообщить(ВосстановленныйUTC = МоментUTC);
Сообщить("Пояс компьютера: " + ЧасовойПояс());
Сообщить("Пояс сеанса: " + ЧасовойПоясСеанса());Разбор по шагам
Не передаём локальную дату как будто она уже UTC: роль исходного значения задаётся контрактом.
МестноеВремя преобразует UTC в явно выбранный фиксированный пояс.
УниверсальноеВремя получает местную дату того же пояса и возвращает UTC.
Читаем текущие настройки для диагностики, но не используем их вместо явно согласованного GMT+3 и не меняем сеанс.
Как проверить результат
Из 2026-09-15 09:00:00 UTC получаем местное 2026-09-15 12:00:00.
Обратное сравнение даёт Истина независимо от текущего часового пояса машины.
Замените фиксированный пояс в обеих функциях на GMT+0: местное представление совпадёт с исходным UTC.
Ожидаемый результат
Учебный момент преобразован туда и обратно с явно согласованным смещением.
На что обратить внимание
GMT+3 — фиксированное смещение, а не исторические правила переходов конкретного региона.
Для региона с летним временем используйте согласованный идентификатор зоны и учитывайте неоднозначные и отсутствующие местные моменты.
Формат без Z или смещения сам по себе не сообщает получателю часовой пояс.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.