如果我得到DateTime對象的RFC-1123格式化日期,它會給出當前本地時間,但給出的時區爲GMT(這是不準確的)。
DateTime.Now.ToString("r");
回報
Fri, 12 Feb 2010 16:23:03 GMT
DateTime到RFC-1123給出不準確的時區
在下午4:23,但我的時區爲UTC + 10(另外,我們目前正在觀察夏令時)。現在
,我可以通過轉換爲UTC先得到一個返回值是「正確」:
DateTime.UtcNow.ToString("r");
回報
Fri, 12 Feb 2010 05:23:03 GMT
然而,理想情況下,我想找到正確的時區,這我想會
Fri, 12 Feb 2010 16:23:03 +1100
傳遞在當前CultureInfo不會改變任何東西。我可以通過TimeZoneInfo.Local.GetUtcOffset(...)得到一個UTC偏移量,並從中設置一個時區字符串,但是刪除GMT位並替換它看起來很不合時宜。
有沒有辦法強制它包含正確的時區?
這是正確的,但是,您仍然必須更換時區。這是我用過的東西,知道我的服務器是EST。 date.ToLocalTime()。ToString(「R」)。替換(「GMT」,「EST」) 如果您希望修改Web請求中的日期標題,可以使用它。我在dev&prod中使用它,它工作。 MethodInfo priMethod = client.Headers.GetType()。GetMethod(「AddWithoutValidate」,BindingFlags.Instance | BindingFlags.NonPublic); priMethod.Invoke(client.Headers,new object [] {「Date」,); –
2015-12-13 16:59:40