converttolocaltime - 脚本和图表函数
将 UTC 或 GMT 时间戳转换为本地时间作为对偶值。
语法:
ConvertToLocalTime(timestamp [, place [, ignore_dst=false]])
返回数据类型: 双
参数 | 说明 |
---|---|
timestamp | 要作为时间戳评估的日期或要解析为时间戳的表达式,例如转换为“2012-10-12”。 |
place |
下面的地方和时区表格中的地方或时区。您也可以使用 GMT 或 UTC 定义本地时间。以下值和时间偏移量范围有效:
信息注释如果使用 DST 偏移量(即,指定 ignore_dst 参数值,其计算为 False),则必须在 place 参数中指定一个位置,而不是 GMT 偏移量。这是因为调整夏令时除了需要由 GMT 偏移提供的经度信息外,还需要纬度信息。相关信息请参阅将 GMT 偏移量与夏令时结合使用。
信息注释只能使用标准时间偏移量。不能使用任意时间偏移量,例如,GMT-04:27。
|
ignore_dst |
如果此参数的计算结果为 True,则忽略 DST(夏令时)。有效的参数值计算为 True,包括 -1 和 True()。 如果此参数的计算结果为 False,则会根据夏令时调整时间戳。有效的参数值计算为 False,包括 0 和 False()。 如果 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 偏移之外,任何夏令时偏移都需要关于当地时区的纬度位置的信息(地理时区输入),以便获得关于当地夏令时条件的完整信息。