I have a string, "2009-10-08 08:22:02Z", which is in ISO 8601 format.
How do I use DateTime to parse this format?
string txt= "2009-10-08 08:22:02Z";
DateTime output = DateTime.ParseExact(txt, "u", System.Globalization.CultureInfo.InvariantCulture);
The DateTime class supports the standard format string of u for this format
I think for the ISO format (with the T separator), use "s" instead of "u". Or use:
string txt= "2009-10-08 08:22:02Z";
DateTime output = DateTime.ParseExact(txt, new string[] {"s", "u"}, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
to support both formats.
No, it's not ISO 8601. Valid ISO 8601 representation would have T
between time and date parts.
DateTime
can natively handle valid ISO 8601 formats. However, if you're stuck with this particular representation, you can try DateTime.ParseExact
and supply a format string.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With