我如何將用戶發出的鳴叫時間轉換爲本地時間? created_at給了我創建推文的時間,並基於用戶所在的國家,我如何使用c#將其更改爲我的本地時間。時間格式爲「Fri Jul 27 15:14:11 +0000 2012」。 utc_offset是什麼意思,它如何用來改變時區?Twitter時間到當地時間c#
我並不真正熟悉的時區的東西,感謝您的幫助:)
我如何將用戶發出的鳴叫時間轉換爲本地時間? created_at給了我創建推文的時間,並基於用戶所在的國家,我如何使用c#將其更改爲我的本地時間。時間格式爲「Fri Jul 27 15:14:11 +0000 2012」。 utc_offset是什麼意思,它如何用來改變時區?Twitter時間到當地時間c#
我並不真正熟悉的時區的東西,感謝您的幫助:)
你會想要使用DateTimeOffset
structure。這使您可以捕獲日期和時間以及與UTC的偏移。
要使用Twitter的時間格式爲:
string twitterDate = "Fri Jul 27 15:14:11 +0000 2012";
DateTimeOffset dt = DateTimeOffset.ParseExact(twitterDate,
"ddd MMM dd HH:mm:ss zzz yyyy", CultureInfo.InvariantCulture);
注意while not documented, zzzz
does work as a custom date time format和解析正確的偏移成功。這意味着將來您應該小心依賴它(除非文檔更改爲反映此功能)。
一旦你有了DateTimeOffset
,你知道UTC的偏移量。如果你想在你的當地時間得到它,你可以撥ToLocalTime
method上DateTimeOffset
被解析,它會返回一個基於你的本地設置偏移量的實例。
這應該是它:
DateTime localDateTime = DateTime.ParseExact(dateString, "ddd MMM dd HH:mm:ss zzz yyyy", new CultureInfo("en-US"));
除非你在一個DateTime的構造給予DateTimeKind中, DateTime將在工作站/服務器的管理員爲Windows選擇的時區中。
謝謝,它完美的作品! – Phantom 2012-07-29 06:44:58