65.9K
CodeProject is changing. Read more.
Home

Change System Date Format At Runtime

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.80/5 (5 votes)

Mar 15, 2011

CPOL

1 min read

viewsIcon

26363

Change System Date Format At Runtime

Introduction

You may sometimes need to change your system Date format at run time. C# has namespace ‘using Microsoft.Win32’ which helps you to change your system date and currency format.

Using the Code

First, you just have to use namespace using Microsoft.Win32

Then use RegistryKey class to access Current user preferences. Then you can set value for date format using RegistryKey’s object.

//    RegistryKey rkey = Registry.CurrentUser.OpenSubKey
//                (@"Control Panel\International", true);
//      rkey.SetValue("sShortDate", "d/M/yy");
 
//    rkey.SetValue("sLongDate","dd/MM/yy");
  • d:

    Use this to specify the numeric value for the day of the month.
    Eg. d (1) or dd(01) or ddd(MON) or dddd(MONDAY).

  • M:

    These display the months in numeric form.
    Eg. M(1) or MM(01) or MMM(JAN) or MMMM(JANUARY).

  • y:

    Use this to specify the numeric value for the year to different digits.
    Eg. y(9) or yy(09) or yyyy(2009).

Apart from these, you may also use follow:
  • t: The first character of the AM/PM designator.

    11/03/2011 1:45:30 PM

  • tt: The AM/PM designator.

    11/03/2011 1:45:30 PM

  • s: The second, from 0 through 59.

    11/03/2011 1:45:09 PM

  • ss: The second, from 00 through 59.

    11/03/2011 1:45:09 PM. and so on

Points of Interest

This is very easy code to change system date format at runtime. Following are the class methods with their uses.
// RegistryKey, represents a key-level node at windows registry
// Registry, represents a root keys in windows registry
// CurrentUser, reads windows registry base key HKEY_CURRENT_USER
You can use this code to change system currency format too.

History

15 March 2011: Initial release