# converttolocaltime - 脚本和图表函数

将 UTC 或 GMT 时间戳转换为本地时间作为对偶值。

语法：

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

**返回数据类型：** 双

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），则必须在 place 参数中指定一个位置，而不是 GMT 偏移量。这是因为调整夏令时除了需要由 GMT 偏移提供的经度信息外，还需要纬度信息。相关信息请参阅[将 GMT 偏移量与夏令时结合使用](https://help.qlik.com/zh-CN/qlikview/September2025/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 & 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 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 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())` | 返回北美东海岸（纽约）的时间，并根据夏令时进行调整。 |

## 将 GMT 偏移量与夏令时结合使用

在 QlikView November 2018 中实施国际 Unicode 组件 (ICU) 库之后，如要将 GMT（格林尼治标准时间）偏移与 DST（夏令时）结合使用，则需要额外的纬度信息。

GMT 是经度（东西）偏移，而 DST 是纬度（南北）偏移。例如，赫尔辛基（芬兰）和约翰内斯堡（南非）共享相同的 GMT+02:00 偏移量，但它们不共享相同的 DST 偏移量。这意味着，除了 GMT 偏移之外，任何夏令时偏移都需要关于当地时区的纬度位置的信息（地理时区输入），以便获得关于当地夏令时条件的完整信息。