Introduction
Many of the times, developers code their application and forget that different systems can have different date and time format settings. This causes the application to crash. This article helps you in setting the Custom global culture info environment specific to your application.
Background
I was working on an existing application and found out the carelessness of the developers. If I changed my system settings, I could not run this application - this issue was assigned to me for fixing. So I did in this way.
Using the Code
The code is self explanatory. Now developers need not worry about the environment settings for the time and date formats.
Set and initialize all the Culture Settings at the start of your application:
[STAThread]
static void Main()
{
System.Globalization.CultureInfo cultureInfo =
new System.Globalization.CultureInfo("en-US");
System.Globalization.DateTimeFormatInfo dateTimeInfo =
new System.Globalization.DateTimeFormatInfo();
dateTimeInfo.DateSeparator = "/";
dateTimeInfo.LongDatePattern = "dd-MMM-yyyy";
dateTimeInfo.ShortDatePattern = "dd-MMM-yy";
dateTimeInfo.LongTimePattern = "hh:mm:ss tt";
dateTimeInfo.ShortTimePattern = "hh:mm tt";
cultureInfo.DateTimeFormat = dateTimeInfo;
Application.CurrentCulture = cultureInfo;
Thread.CurrentThread.CurrentCulture = cultureInfo;
Thread.CurrentThread.CurrentUICulture = cultureInfo;
..................
Application.Run(new Form1());
}
Points of Interest
Well most of you have tried the same thing but maybe it doesn't allow you to change the DateFormat
s directly. I tried to change the CurrentCulture.DateFormatInfo
at various times, but... :)
History
- 26th July, 2007: Initial post
Started carreer with CEERI, Delhi, India as a C Programmer in 2004 and migrated my learning experiance to C#.Net in 2005 with DIGISIGN Noida, Joined Bally in 2006, worked with JK Technosoft since Jun 2007 till Apr 2009, joined back Bally in June 2009 and joined Misys in June 2010. Worked in different domains such as Casino Management, Digital Signage, and Medical and currently working M*Modal as Lead - Product Development.