converttolocaltime - 指令碼與圖表函數
將 UTC 或 GMT 時間戳記轉換為當地時間作為雙值。
語法:
ConvertToLocalTime(timestamp [, place [, ignore_dst=false]])
傳回資料類型: 雙值
引數 | 描述 |
---|---|
timestamp | 要轉換的時間戳記或解析為時間戳記的運算式的日期,例如 '2012-10-12'。 |
place |
下方地點及時區表格中的地點或時區。或者,您可以使用 GMT 或 UTC 來定義當地時間。下列值及時間偏移範圍有效:
資訊備註若您使用 DST 偏移 (亦即您指定評估為 False 的 ignore_dst 引數值),您必須在 place 引數中指定地點,而非 GMT 偏移。這是因為除了 GMT 偏移提供的經度資訊,為日光節約時間進行調整也需要緯度資訊。如需詳細資訊,請參閱 結合 DST 使用 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()) | 傳回北美東岸 (紐約) 的時間,為日光節約時間進行調整。 |
結合 DST 使用 GMT 偏移
在 QlikView November 2018 實施國際 Unicode 元件 (ICU) 庫後,使用 GMT (格林威治標準時間) 偏移結合 DST (日光節約時間) 還需要緯度資訊。
GMT 是經度 (東西向) 偏移,而 DST 則是緯度 (南北向) 偏移。例如,赫爾辛基 (芬蘭) 和約翰尼斯堡 (南非) 共用相同的 GMT+02:00 偏移,但沒有共用相同的 DST 偏移。這表示,除了 GMT 偏移,任何 DST 偏移都需要當地時區的緯度位置資訊 (地理時區輸入),才能有關於當地 DST 條件的完整資訊。