converttolocaltime — funkcja skryptu i funkcja wykresu
Przekształca znacznik czasu UTC lub GMT na czas lokalny w postaci wartości podwójnej.
Składnia:
ConvertToLocalTime(timestamp [, place [, ignore_dst=false]])
Typ zwracanych danych: podwójny
Argument | Opis |
---|---|
timestamp | Data do oceny jako znacznik czasu lub wyrażenie dające w wyniku znacznik czasu, którą należy przekształcić, na przykład „2012-10-12”. |
place |
Miejsce lub strefa czasowa z tabeli miejsc i stref czasowych poniżej. W celu określenia czasu lokalnego można także użyć parametru GMT lub UTC. Prawidłowe są następujące wartości i zakresy przesunięcia czasu:
InformacjaJeśli używasz przesunięcia czasu letniego (tzn. określisz wartość argumentu ignore_dst, której wynikiem będzie False), w argumencie place musisz określić miejsce, a nie przesunięcie GMT. Jest tak dlatego, że dostosowanie czasu letniego wymaga informacji o szerokości geograficznej oprócz informacji o długości geograficznej dostarczonych przez przesunięcie względem GMT. Informacje zawiera temat Używanie przesunięć GMT w połączeniu z czasem letnim.
InformacjaMożna użyć wyłącznie standardowych przesunięć czasu. Nie można użyć dowolnego przesunięcia czasu, na przykład GMT-04:27.
|
ignore_dst |
Jeżeli ten argument ma wartość True, DST (czas letni) jest ignorowany. Prawidłowe wartości argumentu dające wynik True obejmują -1 i True(). Jeżeli ten argument daje wynik False, znacznik czasu jest korygowany o czas letni. Prawidłowe wartości argumentu dające wynik False obejmują 0 i False(). Jeśli wartość argumentu ignore_dst jest niepoprawna, funkcja ocenia wyrażenie tak, jakby wartość argumentu ignore_dst dawała w wyniku True. Jeśli wartość argumentu ignore_dst nie zostanie określona, funkcja ocenia wyrażenie tak, jakby wartość ignore_dst dawała w wyniku False. |
Otrzymany czas jest korygowany do czasu letniego, chyba że parametr ignore_dst ma wartość True.
Miejsca i strefy czasowe
Funkcja ConvertToLocalTime pobiera informacje o miejscach i strefach czasowych z całego świata z rejestru systemu Windows. Oznacza to, że aby ta funkcja działała nazwa miejsca, której użytkownik chce użyć musi być zgodna z odpowiadającą nazwą w rejestrze systemu Windows.
Dokładna nazwa, pod jaką miejsce jest zarejestrowane w rejestrze systemu Windows, może również ulegać zmianom odpowiednio do ustawień języka w konkretnej instalacji systemu Windows. Dzieje się tak dlatego, że nazwy niektórych miast i krajów mają różną pisownię w różnych językach.
Pełna lista nazw i stref czasowych jest dostępna w rejestrze systemu Windows w gałęzi:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
Listę stref czasowych i miejsc można również znaleźć w Panelu sterowania systemu Windows. OtwórzPanel sterowania, kliknij pozycję Data i godzina, a następnie przycisk Zmień strefę czasową. Zostanie wyświetlona pełna lista miast lub krajów powiązanych z poszczególnymi strefami czasowymi z menu rozwijanego.
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 | - | - | - |
Przykład | Wynik |
---|---|
ConvertToLocalTime('2023-08-14 08:39:47','Paris') |
Zwraca wartość „2023-08-14 10:39:47” oraz odpowiadającą wewnętrzną reprezentację znacznika czasu. |
ConvertToLocalTime(UTC(), 'Stockholm') | Zwraca czas dla Sztokholmu, z korektą uwzględniającą czas letni. |
ConvertToLocalTime(UTC(), 'Stockholm', -1) | Zwraca czas dla Sztokholmu, bez korekty uwzględniającej czas letni. |
ConvertToLocalTime(UTC(), 'GMT-05:00') | Zwraca czas dla wschodniego wybrzeża Ameryki Północnej, na przykład czas Nowego Jorku. Nie dokonuje się żadnej korekty czasu letniego, ponieważ określono przesunięcie czasu GMT, a nie miejsce. |
ConvertToLocalTime(UTC(), 'New York', -1) | Zwraca czas dla wschodniego wybrzeża Ameryki Północnej (Nowy Jork), bez korekty uwzględniającej czas letni. |
ConvertToLocalTime(UTC(), 'New York', True()) | Zwraca czas dla wschodniego wybrzeża Ameryki Północnej (Nowy Jork), bez korekty uwzględniającej czas letni. |
ConvertToLocalTime(UTC(), 'New York', 0) | Zwraca czas dla wschodniego wybrzeża Ameryki Północnej (Nowy Jork) z korektą uwzględniającą czas letni. |
ConvertToLocalTime(UTC(), 'New York', False()) | Zwraca czas dla wschodniego wybrzeża Ameryki Północnej (Nowy Jork) z korektą uwzględniającą czas letni. |
Używanie przesunięć GMT w połączeniu z czasem letnim
Po wdrożeniu bibliotek International Components for Unicode (ICU) w QlikView w listopadzie 2018 r. użycie przesunięć GMT (czasu Greenwich) w połączeniu z czasem letnim wymaga dodatkowych informacji o szerokości geograficznej.
GMT ma przesunięcie wzdłużne (wschód-zachód), podczas gdy czas letni to przesunięcie równoleżnikowe (północ-południe). Na przykład Helsinki (Finlandia) i Johannesburg (RPA) mają to samo przesunięcie GMT+02:00, ale nie mają tego samego przesunięcia czasu letniego. Oznacza to, że w dodatku do przesunięcia GMT każde przesunięcie czasu letniego wymaga informacji o szerokości geograficznej lokalnej strefy czasowej (wprowadzenia geograficznej strefy czasowej), aby uzyskać pełną informację o lokalnych warunkach czasu letniego.