我期待實現與簽名類似如下的功能:的TimeZoneInfo和國家代碼
bool IsTimeZoneValid(string countryCode, DateTime localTime);
的目的是確定該國是否具有在本地時間將是有效的時間區,因爲我們知道當前的UTC時間。比方說,爲了爭辯,「有效」意味着當轉換爲UTC時,時間與我們認爲時間相差30分鐘。
例如,現在說它現在是03/08/2009 18:25:00 UTC,然後給予以下方法調用澳大利亞,它應該返回true
,因爲這是在「東部標準時間」區域中的有效時間:
IsTimeZoneValid("AU", DateTime.Parse("04/08/2009 03:25:00"));
但是,法國的以下呼籲應該失敗,因爲這不是法國時區的有效時間。
IsTimeZoneValid("FR", DateTime.Parse("04/08/2009 03:25:00"));
這需要準確,並考慮到夏令時等
.NET 3.5包括新TimeZoneInfo
類能爲我做了很多的轉換,如果我知道是什麼時區存在於一個特定的國家,但我似乎無法找到任何內置的查找。我錯過了什麼,或者我將不得不手動創建一個國家到時區映射表?
重申,我的問題是:給定一個國家代碼,我怎樣才能得到一個時區列表。另外,還有另一種方法來處理我錯過的?
+1我也真的希望能夠得到有效的時區某一國家。 – 2009-10-02 13:59:17