ASP.Net 2.0 C# DateTime IFormatProvider Using ParseExact
In the previous article C# Convert String to DateTime you learnt the use of Convert.ToDateTime function in C# ASP.Net 2.0. Following are 2 other methods to convert the DateTime format using IFormatProvider:
1. DateTime.ParseExact
2. DateTime.Parse
To use IFormatProvider you have to pass the culture info for DateTime format coz in different cultures DateTime format of displaying the sequence of month and date varies.
DateTime Format Examples:
You can see the live samples and examples of C# DateTime format from the following links:
For French Culture use the following:
IFormatProvider culture = new CultureInfo("fr-Fr", true);
For US English use the following:
IFormatProvider culture = new CultureInfo("en-US", true);
Both cultures mentioned above accept the different DateTime Formats.
If you are using DateTime.Parse then you have to pass the MM/dd/yyyy hh:mm:ss format of DateTime for French culture and dd/MM/yyyy hh:mm:ss for US English culture. You have to check the format for different cultures by changing the position of month and day.
Using DateTime Parse
dt = DateTime.Parse(myDateTimeString, culture, DateTimeStyles.NoCurrentDateDefault);
Using DateTime ParseExact
dt = DateTime.ParseExact(myDateTimeString, "MM/dd/yyyy hh:mm:ss", culture, DateTimeStyles.NoCurrentDateDefault);
C# Code to ParseExact the DateTime String
string myDateTimeString;
myDateTimeString = "19/02/2008 05:44:00";
IFormatProvider culture = new CultureInfo("fr-Fr", true);
dt = DateTime.ParseExact(myDateTimeString, "dd/MM/yyyy hh:mm:ss", culture, DateTimeStyles.NoCurrentDateDefault);
Response.Write(dt.Day + "/" + dt.Month + "/" + dt.Year);
Output:
You can see the outputs of above C# code from the following link:
Using C# Function to Get Current DateTime and C# ToString Function you can format the DateTime values into the specified format very easily.
