I need to convert the string "Fri Sep 11 00:00:00 GMT+04:00 2020" into a DateTime object 11.09.2011.
When I use
DateTime result;
DateTime.TryParseExact(MyString, "ddd MMM dd HH:mm:ss 'GMT'zzz yyyy",
CultureInfo.InvariantCulture, DateTimeStyles.None, out result);
result is equal to {9/10/2020 11:00:00 PM}.
How can I modify the code so that the date component is 11.09.2011 and not 10.09.2011 (I only need the date and don’t care about the time) ?
Parse into a
DateTimeOffsetinstead, given that you’ve got an offset. From the documentation of thezzspecifier that you’re using:So you’d end up with:
From there, you can take the
DateTimepart, which will be midnight on September 11th.If you want just a date, you could use my Noda Time project to create a
LocalDate:(I’d love to suggest parsing directly to
OffsetDateTime, but we haven’t got support for that yet. We’re hoping to include it in version 1.2.)