ISO8601 格式的字符串到 DateTime
ISO8601 formatted string to DateTime
我有以下 ISO8601 格式的日期时间字符串:
2016-03-28T16:07:00+0200
我想将其转换为 C# DateTime
对象,但我使用的解析方法抛出异常。
目前我有这个:(不起作用)
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);
如何让解析函数处理我的字符串?
我建议使用 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
尝试DateTime time = DateTime.Parse("2016-03-28T16:07:00+0200");
。您的字符串似乎是 format that will be recognized by DateTime.Parse()
.
我有以下 ISO8601 格式的日期时间字符串:
2016-03-28T16:07:00+0200
我想将其转换为 C# DateTime
对象,但我使用的解析方法抛出异常。
目前我有这个:(不起作用)
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);
如何让解析函数处理我的字符串?
我建议使用 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
尝试DateTime time = DateTime.Parse("2016-03-28T16:07:00+0200");
。您的字符串似乎是 format that will be recognized by DateTime.Parse()
.