# converttolocaltime — скрипт и функция диаграммы

Преобразует формат метки времени UTC или GMT в местное время и выводит в виде двойного значения.

ConvertToLocalTime(timestamp [, place [, ignore\_dst=false]])

**Тип возврата данных:** dual

Аргументы ConvertToLocalTime

| Аргумент | Описание |
| --- | --- |
| timestamp | Дата для вычисления в виде метки времени или выражения, определяемого по метке времени, для преобразования, например '2012-10-12'. |
| place | Город или часовой пояс из таблицы городов и часовых поясов, указанной ниже. Либо можно использовать GMT или UTC для определения местного времени. Следующие значения и диапазоны смещения времени являются действительными.<br><br><ul> <li> <span>GMT</span> </li> <li> <span>GMT-12:00 - GMT-01:00</span> </li> <li> <span>GMT+01:00 - GMT+14:00</span> </li> <li> <span>UTC</span> </li> <li> <span>UTC-12:00 - UTC-01:00</span> </li> <li> <span>UTC+01:00 - UTC+14:00</span> </li> </ul><br><br>Примечание к информацииЕсли используется смещение DST ― переход на летнее время (то есть значение аргумента ignore\_dst дает результат False), необходимо указывать место, а не смещение GMT (относительно времени по Гринвичу) в аргументе place. Это объясняется тем, что для коррекции с учетом летнего времени требуются данные о широте в дополнение к данным о долготе, указанным в смещении относительно времени по Гринвичу. Для получения информации см. раздел [Использование смещения относительно времени по Гринвичу в сочетании с данными о переходе на летнее время](https://help.qlik.com/ru-RU/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/DateAndTimeFunctions/converttolocaltime.htm#Using).<br><br>Примечание к информацииМожно использовать только стандартные значения смещения времени. Невозможно использовать произвольное смещение времени, например GMT-04:27. |
| ignore\_dst | Если значение аргумента дает результат True, DST (переход на летнее время) игнорируется. Допустимые значения аргумента, дающие результат True: `-1` и `True()`.<br><br>Если значение этого аргумента дает результат False, метка времени корректируется с учетом перехода на летнее время. Допустимые значения аргумента, дающие результат False: `0` и `False()`.<br><br>Если значение аргумента ignore\_dst недействительно, функция оценивает выражение так, как если бы значение ignore\_dst давало результат True. Если значение аргумента ignore\_dst не указано, функция оценивает выражение так, как если бы значение ignore\_dst давало результат False. |

Результирующее время настраивается в соответствии с переходом на летнее время, если для параметра ignore\_dst не задано значение True.

## Города и часовые пояса

Функция ConvertToLocalTime извлекает сведения о городах и часовых поясах мира из реестра Windows. Это означает, что для надлежащей работы функции название города, которое необходимо использовать, должно соответствовать наванию города в реестре Windows.

Точное название, под которым город фигурирует в реестре Windows, может измениться в зависимости от параметров языка установки Windows. Это обусловлено разным написанием названий определенных городов и стран на разных языках.

Полный список городов и часовых поясов в реестре Windows находится в следующем расположении:

HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones

Кроме того, со списком городов и часовых поясов можно ознакомиться на панели управления Windows. Откройте *Панель управления*, щелкните параметры *Дата и время* и выберите *Изменить часовой пояс*. В раскрывающемся меню отобразится полный список городов и стран, связанных с каждым часовым поясом.

Действительные города и часовые пояса

| A-C | D-K | L-R | S-Z |
| --- | --- | --- | --- |
| Abu Dhabi | Darwin | La Paz | Samoa |
| Adelaide | Dhaka | Lima | Santiago |
| Alaska | Eastern Time (US &<br>Canada) | Lisbon | Sapporo |
| Amsterdam | Edinburgh | Ljubljana | Sarajevo |
| Arizona | Ekaterinburg | London | Saskatchewan |
| Astana | Fiji | Madrid | Seoul |
| Athens | Georgetown | Magadan | Singapore |
| Atlantic Time (Canada) | Greenland | Mazatlan | Skopje |
| Auckland | Greenwich<br>Mean Time : Dublin | Melbourne | Sofia |
| Azores | Guadalajara | Mexico City | Solomon Is. |
| Baghdad | Guam | Mid-Atlantic | Sri Jayawardenepura |
| Baku | Hanoi | Minsk | St. Petersburg |
| Bangkok | Harare | Monrovia | Stockholm |
| Beijing | Hawaii | Monterrey | Sydney |
| Belgrade | Helsinki | Moscow | Taipei |
| Berlin | Hobart | Mountain Time (US & Canada) | Tallinn |
| Bern | Hong Kong | Mumbai | Tashkent |
| Bogota | Indiana (East) | Muscat | Tbilisi |
| Brasilia | International Date Line West | Nairobi | Tehran |
| Bratislava | Irkutsk | New<br>Caledonia | Tokyo |
| Brisbane | Islamabad | New Delhi | Urumqi |
| Brussels | Istanbul | Newfoundland | Warsaw |
| Bucharest | Jakarta | Novosibirsk | Wellington |
| Budapest | Jerusalem | Nuku'alofa | West Central Africa |
| Buenos Aires | Kabul | Osaka | Vienna |
| Cairo | Kamchatka | Pacific Time (US & Canada) | Vilnius |
| Canberra | Karachi | Paris | Vladivostok |
| Cape Verde Is. | Kathmandu | Perth | Volgograd |
| Caracas | Kolkata | Port Moresby | Yakutsk |
| Casablanca | Krasnoyarsk | Prague | Yerevan |
| Central America | Kuala Lumpur | Pretoria | Zagreb |
| Central Time (US & Canada) | Kuwait | Quito | - |
| Chennai | Kyiv | Riga | - |
| Chihuahua | - | Riyadh | - |
| Chongqing | - | Rome | - |
| Copenhagen | - | - | - |

Примеры и результаты

| Пример | Результат |
| --- | --- |
| `ConvertToLocalTime('2023-08-14 08:39:47','Paris')` | Возвращает «2023-08-14 10:39:47» и соответствующее внутреннее представление метки времени. |
| `ConvertToLocalTime(UTC(), 'Stockholm')` | Возвращает время для Стокгольма с учетом перехода на летнее время. |
| `ConvertToLocalTime(UTC(), 'Stockholm', -1)` | Возвращает время для Стокгольма без учета перехода на летнее время. |
| `ConvertToLocalTime(UTC(), 'GMT-05:00')` | Возвращает время для североамериканского восточного побережья, например Нью-Йорка. Не выполняется корректировка с учетом перехода на летнее время, так как задано смещение GMT (относительно времени по Гринвичу), а не город. |
| `ConvertToLocalTime(UTC(), 'New York', -1)` | Возвращает время для североамериканского восточного побережья (Нью-Йорк), без учета перехода на летнее время. |
| `ConvertToLocalTime(UTC(), 'New York', True())` | Возвращает время для североамериканского восточного побережья (Нью-Йорк), без учета перехода на летнее время. |
| `ConvertToLocalTime(UTC(), 'New York', 0)` | Возвращает время для североамериканского восточного побережья (Нью-Йорк), с учетом перехода на летнее время. |
| `ConvertToLocalTime(UTC(), 'New York', False())` | Возвращает время для североамериканского восточного побережья (Нью-Йорк), с учетом перехода на летнее время. |

## Использование смещения относительно времени по Гринвичу в сочетании с данными о переходе на летнее время

После внедрения библиотек ICU (International Components for Unicode ― Международные компоненты Юникод) в QlikView в ноябре 2018 года для использования смещения GMT (относительно среднего времени по Гринвичу) вместе с DST (переход на летнее время) требуется дополнительная информация о широте.

GMT ― это смещение по долготе (с востока на запад), а DST ― это смещение по широте (с севера на юг). Например, для Хельсинки (Финляндия) и Йоханнесбурга (ЮАР) используется одно и то же смещение GMT+02:00, но смещение DST у них разное. Таким образом, чтобы в дополнение к смещению GMT применить смещение DST, требуется информация о положении местного часового пояса по широте (географические координаты часового пояса), которая позволяет составить полную картину о местных условиях DST.