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.