Asp.net

在哪裡可以獲得用於 SQL Server 的簡單時區表?

  • March 18, 2020

我只需要製作一個包含時區的 SQL 表——此時,我唯一需要的是在線上表單上填充一個下拉列表。我正在設想一些簡單的東西,包括 ISO 程式碼、名稱、UTC 偏移量,也許還有代表性城市列表。我以為我可以輕鬆地在網上找到要複製和粘貼的東西,但找不到任何東西。

我被這個問題引導到tz database,它是二進制形式的,對於我需要的東西來說似乎有點矯枉過正。或者,我可以從TimeAndDate.com 之類的網站將其拼湊起來,但這似乎比應該做的工作更多。

還是我以錯誤的方式解決這個問題 - 例如,我應該從伺服器的作業系統獲取這些資訊嗎?

你在 .NET 3.5 上嗎?您可以輕鬆獲取 .NET 3.5 中的時區列表,然後將該資訊(或至少您需要的任何資訊)儲存在 SQL Server 數據庫中。

您可以遍歷 .NET 3.5 可用和已知的所有時區,並將相關資訊儲存到 SQL Server 表中:

ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();

foreach (TimeZoneInfo timeZone in timeZones)
{
   // store whatever you need to store to a SQL Server table
}

馬克

所有時區的列表在這裡:

select * from sys.time_zone_info

享受!

引用自:https://stackoverflow.com/questions/1571752