Converting a string into a DateTime with an exact date format in C# .NET

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.


About Andras Nemes
I'm a .NET/Java developer living and working in Stockholm, Sweden.

2 Responses to Converting a string into a DateTime with an exact date format in C# .NET

  1. harry says:

    Hi what if date format input is 01 January, 2016 ? looking output 01/01/2016

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Elliot Balynn's Blog

A directory of wonderful thoughts

Software Engineering

Web development

Disparate Opinions

Various tidbits

chsakell's Blog


Once Upon a Camayoc

Bite-size insight on Cyber Security for the not too technical.

%d bloggers like this: