DateTime轉換帶時區的字符串

在C#中將帶時區的字符串轉成DateTime類型須要用到DateTimeFormatInfo,這個類包含特定於區域性的信息。
例如,將Sun, 28 Jun 2020 03:40:22 GMT轉成DateTime該怎麼弄呢?
 
DateTimeFormatInfo dtFormat = new DateTimeFormatInfo(); 
dtFormat.FullDateTimePattern = "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"; 
var result = Convert.ToDateTime("Sun, 28 Jun 2020 03:40:22 GMT", dtFormat);
 
FullDateTimePattern 屬性爲長日期和長時間值獲取或設置自定義格式字符串。而「Sun, 28 Jun 2020 03:40:22 GMT」格式屬於RFC1123Pattern(該格式用於用於基於 Internet 工程任務組 (IETF) 徵求意見文檔 (RFC) 1123 規範的時間值),這種格式是自定義格式字符串。
 
轉換出的結果是:2020-06-28 11:40:22 轉換時自動加了8個小時的時差
 
參考:
DateTimeFormatInfo 類
相關文章
相關標籤/搜索