Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Custom Global Application Culture

0.00/5 (No votes)
26 Jul 2007 1  
This article helps you in defining the application specific culture at the startup time of your application.

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:

/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
    // Creating a Global culture specific to our application.
    System.Globalization.CultureInfo cultureInfo = 
		new System.Globalization.CultureInfo("en-US");
    // Creating the DateTime Information specific to our application.
    System.Globalization.DateTimeFormatInfo dateTimeInfo = 
		new System.Globalization.DateTimeFormatInfo();
    // Defining various date and time formats.
    dateTimeInfo.DateSeparator = "/";
    dateTimeInfo.LongDatePattern = "dd-MMM-yyyy";
    dateTimeInfo.ShortDatePattern = "dd-MMM-yy";
    dateTimeInfo.LongTimePattern = "hh:mm:ss tt";
    dateTimeInfo.ShortTimePattern = "hh:mm tt";
    // Setting application wide date time format.
    cultureInfo.DateTimeFormat = dateTimeInfo;
    // Assigning our custom Culture to the application.
    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 DateFormats directly. I tried to change the CurrentCulture.DateFormatInfo at various times, but... :)

History

  • 26th July, 2007: Initial post

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here