RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: .NET
Expertise: Advanced
May 31, 2006

Entering Dates in Different Formats

Suppose you are developing a Web page which contains a text field in which a user can enter a date. The problem is that in different parts of the world people enter dates in different formats. By default, .NET accepts dates in English US format (MM/DD/YYYY). But what if one of your users is in the UK and wants to enter a date in DD/MM/YYYY format? In this case, if the user entered 23/11/1978, an exception would be thrown indicating that the month cannot be 23. Worse still, what if your user entered 01/02/2003 thinking they were entering the first of Februrary 2003 when really they entered the second of January 2003?

Well, there is a simple solution to this. Once you read the text from the text field, you can interpret the contents of that text field in any culture supported by .NET in this way:

// txtDate is a textfield from where we are getting the date
// entered by the user and storing it in strDate
string strDate = txtDate.Text; 
// Create a DateTimeFormatInfo object based on the DateTimeFormat
// of English Great Britain
DateTimeFormatInfo myDTFI = 
  new CultureInfo("en-GB", false).DateTimeFormat;	
// Now, when you create your DateTime object pass in the
// DateTimeFormatInfo object so that strDate is interpreted as
DateTime dt = Convert.ToDateTime(strDate, myDTFI);
For a full list of cultures supported by .NET, please refer to the .NET documentation for the CultureInfo class.

Sachin Kainth
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date