ISO8601格式化字符串到DateTime
我有以下ISO8601格式的日期时间字符串:
2016-03-28T16:07:00 + 0200
我想将它转换为C# DateTime
对象,但我正在使用的解析方法抛出exception。
目前我有这个:(不起作用)
string format = "yyyy-MM-ddTHH:mm:ss+zzzz"; CultureInfo provider = CultureInfo.InvariantCulture; // Throws the exception: "String was not recognized as a valid DateTime." DateTime time = DateTime.ParseExact("2016-03-28T16:07:00+0200", format, provider);
如何让解析函数与我的字符串一起使用?
尝试DateTime time = DateTime.Parse("2016-03-28T16:07:00+0200");
。 您的字符串似乎是DateTime.Parse()
可识别的格式 。
我建议使用DateTimeOffset而不是DateTime。
var dateString = "2016-03-28T16:07:00+0200"; var date = DateTimeOffset.Parse (dateString); Console.WriteLine (date.ToString ());
如果要转换为DateTime对象
date.UtcDateTime;
它会发出:
3/28/2016 4:07:00 PM +02:00