Regional settings, especially dates, are always a problem in code. For example, suppose the product is developed in U.S. and deployed in UK. Users entering dates in UK format would cause DateTime.Parse
exceptions (because the input would not be recognized as a valid DateTime
). The shortest fix for this problem is to use the DateTimeFormatInfo
object during parsing, as shown below:
System.Globalization.DateTimeFormatInfo MyDateTimeFormatInfo = new System.Globalization.DateTimeFormatInfo();
MyDateTimeFormateInfo.ShortDatePattern = "M/d/yyyy";
string StartDate = DateTime.Parse(dt.ToString("MM/dd/yyyy",MyDateTimeFormatInfo);
The preceding code should work for all short-date entries, regardless of the local machine settings.