C#从字符串解析DateTime(自定义格式)

时间:2015-11-06 12:39:34

标签: c# datetime

我将此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。从来没有遇到这种格式,我相信这必须与时区有关吗?

2 个答案:

答案 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);
相关问题