2014-06-16 66 views
0

考慮我有2倍,其對於不同countires時差:2周計算不同時間之間不同的時區考慮採光

"2013/02/11 13:20:44" (Tehran possibly UTC+3:30 or UTC+2:30 due to day light saving) 
"2013/02/11 15:20:44" (Abu Dhabi possibly UTC+4:00 or UTC+3:00 due to day light saving) 

問題1:我怎樣才能準確地將這些時間to Utc

我想提一下,當日節能不是一個固定的信息,並可能隨時間和國家不同而異。

例如,2010年伊朗由於某些政治原因沒有節省白天。

問題2:有沒有一些可信賴的地方或Web服務與此信息?

+0

你可能會想請訪問https://code.google.com/p/noda-time/ – oleksii

+1

您正在尋找的大部分信息都可以在[時區標記wiki]中找到(http://stackoverflow.com/tags/時區/信息)。簡短的答案是:使用[TimeZoneInfo](http://msdn.microsoft.com/en-us/library/system.timezoneinfo.aspx)或[Noda Time](http://nodatime.org)。 –

回答

3

對於使用Windows更新.NET應用程序時區信息的更新,所以如果你的服務器總是有最新的更新,你不會有時區問題。

如果你需要時間轉換,你可以使用TimeZoneInfo類:

TimeZoneInfo.ConvertTime(new DateTime(2005, 6, 1), TimeZoneInfo.FindSystemTimeZoneById("Iran Standard Time"), TimeZoneInfo.Utc) 

如果你需要,你可以得到AdjestmentRules的時區:

TimeZoneInfo.FindSystemTimeZoneById("Iran Standard Time").GetAdjustmentRules(); 
+0

是的,upvoted,所以如果他相信他的本地.NET和OS安裝的時區信息,這是方式。請注意,還有一個'TimeZoneInfo.ConvertTimeToUtc'方法。 –

+0

它是否也考慮過日光節約?如果我們不能相信操作系統會怎麼樣? – mehrandvd

+1

@mehrandvd是的,它知道白天的節省。那麼,如果你不能相信操作系統。你將不得不尋找另一個時區信息提供者(這裏我不能建議),或者爲你需要的國家創建你自己的時區 – Uriil

0

你可以嘗試使用​​

更詳細的信息,可以發現in this thread

+0

http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers –

+0

我只是真的回答問題2,我沒有太多經驗與.net,認爲這可能比將它們完全放在黑暗中更有用,每一點都有幫助。 – Frugras

相關問題