How would one parse 1900-01-01 00:00:00Z into a DateTime object?
string temp = "1900-01-01 00:00:00Z";
CultureInfo provider = CultureInfo.InvariantCulture;
var date = DateTime.ParseExact(temp, "yyyy-MM-dd hh:mm:ssZ", provider);
this returns me:
12/31/1899 7:00:00 PM
How are you displaying the value? I suspect it’s just applying your local time zone to the date.
For example, try printing out:
date.Yeardate.Kinddate.HourMy guess is that you’ll see
dateis actually a UTCDateTimewith the right value.It’s unfortunate that .NET is performing the time zone conversion for you implicitly, but then the date and time types in .NET leave something to be desired anyway 🙁
An alternative would be to use
DateTimeOffsetwhich should make it slightly clearer.