2016-09-18 49 views
0

我试图解析包含偏移值"+0200"的字符串"20160918000500 +0200"DateTime将日期和时间偏移量转换为DateTime的字符串

我试过以下,但它给无效DateTime异常。

DateTime dtDateTime = DateTime.Parse("20160918000500 +0200",new CultureInfo("yyyyMMddHHmmss zzz")); 

有没有办法转换的String确切地DatetimeUTC offset value

+1

检查 - http://stackoverflow.com/questions/179940/convert-utc-gmt-time-to-local-time –

回答

0

我建议尝试的DateTime类的ParseExact方法之一

+1

由于字符串包含UTF偏移量部分,因此最好解析DateTimeOffset而不是DateTime。 –

1

为了保护您的偏移量,使用方法DateTimeOffset.ParseExact

string str = "20160918000500 +0200"; 
var result = DateTimeOffset.ParseExact(str, "yyyyMMddHHmmss zzz", CultureInfo.InvariantCulture); 
Console.WriteLine(result); 
相关问题