Глобальный контекст.ЧасовойПояс

Методы · TimeZone

Получает идентификатор часового пояса компьютера.

Синтаксис

ЧасовойПояс()
Полное описание, параметры и ограничения

Глобальный контекст.ЧасовойПояс (Global context.TimeZone)

Глобальный контекст (Global context)

ЧасовойПояс (TimeZone)

Доступен, начиная с версии 8.2.

Синтаксис:
ЧасовойПояс()
Возвращаемое значение:
Тип: Строка.
Список допустимых часовых поясов может быть получен методом ПолучитьДопустимыеЧасовыеПояса.
Кроме того, возможно задание часовых поясов смещением от универсального времени (часовые пояса GMT) в формате:
GMT{+/-}h[h][:mm]
где hh=0:23, mm=0:59.
Описание:

Получает идентификатор часового пояса компьютера.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

Перевести учебный момент UTC в фиксированный пояс и обратно

Явно задаём GMT+3, чтобы результат не зависел от часового пояса компьютера или сеанса.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Используется фиксированная дата, а не ТекущаяДата: результаты можно сравнить независимо от дня запуска.

  2. Данные создаются только в памяти учебной базы; рабочие документы и регистры не меняются.

  3. Выполняйте на сервере: явный аргумент часового пояса поддерживается в указанном контексте.

  4. Значение Момент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);
Сообщить("Пояс компьютера: " + ЧасовойПояс());
Сообщить("Пояс сеанса: " + ЧасовойПоясСеанса());

Разбор по шагам

  1. Не передаём локальную дату как будто она уже UTC: роль исходного значения задаётся контрактом.

  2. МестноеВремя преобразует UTC в явно выбранный фиксированный пояс.

  3. УниверсальноеВремя получает местную дату того же пояса и возвращает UTC.

  4. Читаем текущие настройки для диагностики, но не используем их вместо явно согласованного GMT+3 и не меняем сеанс.

Как проверить результат

  1. Из 2026-09-15 09:00:00 UTC получаем местное 2026-09-15 12:00:00.

  2. Обратное сравнение даёт Истина независимо от текущего часового пояса машины.

  3. Замените фиксированный пояс в обеих функциях на GMT+0: местное представление совпадёт с исходным UTC.

Ожидаемый результат

Учебный момент преобразован туда и обратно с явно согласованным смещением.

На что обратить внимание

  1. GMT+3 — фиксированное смещение, а не исторические правила переходов конкретного региона.

  2. Для региона с летним временем используйте согласованный идентификатор зоны и учитывайте неоднозначные и отсутствующие местные моменты.

  3. Формат без Z или смещения сам по себе не сообщает получателю часовой пояс.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.