SQL Server zapewnia sys.time_zone_info
widok konfiguracji całego serwera, aby zwrócić listę obsługiwanych stref czasowych.
Możesz je pobrać za pomocą prostego SELECT
oświadczenie.
Przykład
Uruchomienie poniższej instrukcji zwraca wszystkie obsługiwane strefy czasowe.
SELECT * FROM sys.time_zone_info;
Zwraca to 139 wierszy w moim systemie.
Możesz zawęzić wyniki za pomocą WHERE
klauzula. Jeśli nie masz pewności, jak nazywa się strefa czasowa, zawsze możesz użyć LIKE
klauzula z kilkoma symbolami wieloznacznymi.
SELECT * FROM sys.time_zone_info
WHERE name LIKE '%Europe%';
Wynik:
+--------------------------------+----------------------+--------------------+ | name | current_utc_offset | is_currently_dst | |--------------------------------+----------------------+--------------------| | W. Europe Standard Time | +02:00 | 1 | | Central Europe Standard Time | +02:00 | 1 | | Central European Standard Time | +02:00 | 1 | | E. Europe Standard Time | +03:00 | 1 | +--------------------------------+----------------------+--------------------+
Jeśli zastanawiasz się, co is_currently_dst
kolumna jest dla, określa, czy strefa czasowa aktualnie przestrzega czasu letniego (1
jeśli tak, 0
jeśli nie).
Dlatego możesz również przeprowadzić wyszukiwanie, aby zobaczyć, które strefy czasowe przestrzegają czasu letniego.
SELECT
name,
current_utc_offset
FROM sys.time_zone_info
WHERE is_currently_dst = 1;
Oto wynik, który uzyskałem w momencie uruchomienia tego zapytania:
+--------------------------------+----------------------+ | name | current_utc_offset | |--------------------------------+----------------------| | Aleutian Standard Time | -09:00 | | Alaskan Standard Time | -08:00 | | Pacific Standard Time (Mexico) | -07:00 | | Pacific Standard Time | -07:00 | | Mountain Standard Time | -06:00 | | Central Standard Time | -05:00 | | Easter Island Standard Time | -05:00 | | Eastern Standard Time | -04:00 | | Haiti Standard Time | -04:00 | | Cuba Standard Time | -04:00 | | US Eastern Standard Time | -04:00 | | Turks And Caicos Standard Time | -04:00 | | Atlantic Standard Time | -03:00 | | Pacific SA Standard Time | -03:00 | | Newfoundland Standard Time | -02:30 | | Greenland Standard Time | -02:00 | | Saint Pierre Standard Time | -02:00 | | Mid-Atlantic Standard Time | -01:00 | | Azores Standard Time | +00:00 | | GMT Standard Time | +01:00 | | Morocco Standard Time | +01:00 | | W. Europe Standard Time | +02:00 | | Central Europe Standard Time | +02:00 | | Romance Standard Time | +02:00 | | Central European Standard Time | +02:00 | | Jordan Standard Time | +03:00 | | GTB Standard Time | +03:00 | | Middle East Standard Time | +03:00 | | E. Europe Standard Time | +03:00 | | Syria Standard Time | +03:00 | | West Bank Standard Time | +03:00 | | FLE Standard Time | +03:00 | | Israel Standard Time | +03:00 | | Iran Standard Time | +04:30 | | Cen. Australia Standard Time | +10:30 | | AUS Eastern Standard Time | +11:00 | | Tasmania Standard Time | +11:00 | | Lord Howe Standard Time | +11:00 | | Norfolk Standard Time | +12:00 | | New Zealand Standard Time | +13:00 | | Kamchatka Standard Time | +13:00 | | Chatham Islands Standard Time | +13:45 | | Samoa Standard Time | +14:00 | +--------------------------------+----------------------+
Możesz również uzyskać strefę czasową własnego serwera i porównać ją z odpowiednim wpisem na tej liście, jeśli chcesz.