Converting a string into a DateTime with an exact date format in C# .NET
January 13, 2016 2 Comments
How do you read the date “03-10-2014”? For some of you this will be October 03 2014. For others, especially those from the US this will be interpreted as March 10 2014. This is because dates are represented in different formats in different cultures.
Consider the following code:
string dateString = "03-10-2014"; DateTime parsedDate = DateTime.Parse(dateString); string toString = parsedDate.ToLongDateString();
“toString” in my case, as I’m running this code from a computer set to the Swedish culture “sv-SE”, will be “den 10 mars 2014” which is March 10 2014. If you run the same code then the output will depend on the cultural settings of your PC which the thread running the code picks up.
What if you want the above date string to always read as October 03 2014 regardless of the culture? DateTime has a ParseExact method which accepts a format string:
string dateString = "03-10-2014"; string format = "dd-MM-yyyy"; DateTime parsedDate = DateTime.ParseExact(dateString, format, null); string toString = parsedDate.ToLongDateString();
toString will now be “den 3 oktober 2014”.
View all various C# language feature related posts here.