C#: Easy String to DateTime, DateTime to String and Formatting / CultureInfo.CurrentCulture / .NET: Convert DateTime from One TimeZone to Another

Easy String to DateTime, DateTime to String and Formatting

http://www.codeproject.com/KB/cs/String2DateTime.aspx

Introduction

In the few years that I have been a software developer, I have work with plenty of different programming languages. The first thing that causes you headaches in all of those languages are dates and how to work with them. In this little tutorial, I would like to show you how to work with dates in C# .NET 2.0.

String to DateTime

 // String to DateTime
 String MyString;
 MyString = "1999-09-01 21:34 PM";
 //MyString = "1999-09-01 21:34 p.m."; //Depends on your regional settings
 DateTime MyDateTime;
 MyDateTime = new DateTime();
 MyDateTime = DateTime.ParseExact(MyString, "yyyy-MM-dd HH:mm tt",
 null);

DateTime to String

 //DateTime to String
 MyDateTime = new DateTime(1999, 09, 01, 21, 34, 00);
 String MyString;
 MyString = MyDateTime.ToString("yyyy-MM-dd HH:mm tt");

Format String For Dates

Your format stringis your most important key. In most of my projects, I make it a constant and then refer to the constant value in my code.

The following is the most commonly used format characters:

d - Numeric day of the month without a leading zero.
dd - Numeric day of the month with a leading zero.
ddd - Abbreviated name of the day of the week.
dddd - Full name of the day of the week.
f,ff,fff,ffff,fffff,ffffff,fffffff - 
 Fraction of a second. The more Fs the higher the precision.
h - 12 Hour clock, no leading zero.
hh - 12 Hour clock with leading zero.
H - 24 Hour clock, no leading zero.
HH - 24 Hour clock with leading zero.
m - Minutes with no leading zero.
mm - Minutes with leading zero.
M - Numeric month with no leading zero.
MM - Numeric month with a leading zero.
MMM - Abbreviated name of month.
MMMM - Full month name.
s - Seconds with no leading zero.
ss - Seconds with leading zero.
t - AM/PM but only the first letter. 
tt - AM/PM ( a.m. / p.m.)
y - Year with out century and leading zero.
yy - Year with out century, with leading zero.
yyyy - Year with century.
zz - Time zone off set with +/-.

CultureInfo.CurrentCulture Property

http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.currentculture.aspx

using System;

using System.Globalization;

using System.Security.Permissions;

using System.Threading;

[assembly:SecurityPermission( SecurityAction.RequestMinimum, ControlThread = true )]

public class SamplesCultureInfo {

public static void Main() {

// Displays the name of the CurrentCulture of the current thread.

Console.WriteLine( "CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name );

// Changes the CurrentCulture of the current thread to th-TH.

Thread.CurrentThread.CurrentCulture = new CultureInfo( "th-TH", false );

Console.WriteLine( "CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name );

// Displays the name of the CurrentUICulture of the current thread.

Console.WriteLine( "CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name );

// Changes the CurrentUICulture of the current thread to ja-JP.

Thread.CurrentThread.CurrentUICulture = new CultureInfo( "ja-JP", false );

Console.WriteLine( "CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name );

}

}

/*

This code produces the following output, if the ControlThread permission is granted (for example, if this code is run from the local drive).

CurrentCulture is en-US.

CurrentCulture is now th-TH.

CurrentUICulture is en-US.

CurrentUICulture is now ja-JP.

*/

.NET: Convert DateTime from One TimeZone to Another

http://www.xiirus.net/articles/article-_net-convert-datetime-from-one-timezone-to-another-7e44y.aspx

TimeZoneInfo timeZoneInfo;

DateTime dateTime ;

//Set the time zone information to US Mountain Standard Time

timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("US Mountain Standard Time");

//Get date and time in US Mountain Standard Time

dateTime = TimeZoneInfo.ConvertTime(DateTime.Now, timeZoneInfo);

//Print out the date and time

Console.WriteLine(dateTime.ToString("yyyy-MM-dd HH-mm-ss"));

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s