SQL Server provides the sys.time_zone_info
server-wide configuration view to return a list of supported time zones.
You can retrieve these with a simple SELECT
statement.
Example
Running the following statement returns all supported time zones.
SELECT * FROM sys.time_zone_info;
This returns 139 rows on my system.
You can narrow the results with a WHERE
clause. If you’re not sure what the time zone is called, you could always use the LIKE
clause with some wildcard characters.
SELECT * FROM sys.time_zone_info
WHERE name LIKE '%Europe%';
Result:
+--------------------------------+----------------------+--------------------+ | 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 | +--------------------------------+----------------------+--------------------+
If you’re wondering what the is_currently_dst
column is for, it specifies whether or not the time zone is currently observing daylight savings time (1
if it is, 0
if it’s not).
Therefore, you could also do a search to see which time zones are observing daylight savings time.
SELECT
name,
current_utc_offset
FROM sys.time_zone_info
WHERE is_currently_dst = 1;
Here’s the result I got at the time I ran this query:
+--------------------------------+----------------------+ | 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 | +--------------------------------+----------------------+
You can also get the time zone of your own server and cross-check it with the relevant entry in this list if you wish.