我将此DateTime作为字符串:2015-08-21T10:51:25.9495986+02:00
如何将此字符串日期解析为DateTime对象?
我通常这样做:
CultureInfo provider = CultureInfo.InvariantCulture;
DateTime _date;
DateTime.TryParseExact("2015-05-12T12:00:00", "yyyy-MM-ddTHH:mm:ss", provider, DateTimeStyles.None, out _date))
但是现在DateTime的结尾包含+02:00
。从来没有遇到这种格式,我相信这必须与时区有关吗?
答案 0 :(得分:1)
您只需使用格式
的o
说明符即可
DateTime.TryParseExact("2015-08-21T10:51:25.9495986+02:00", "o", provider, DateTimeStyles.None, out _date);
这将为您提供当地时间,以转换为可以使用.ToUniversalTime()
答案 1 :(得分:-1)
你的答案在这里:C# string to DateTime with timezone
但要提供帮助:
“您应该尝试使用DateTimeOffset
代替DateTime
”
请参阅以下示例:
DateTimeOffset result = DateTimeOffset.Parse("2012-04-20 10:10:00+0200",CultureInfo.InvariantCulture);