Click here to Skip to main content
15,884,099 members
Articles / Programming Languages / C#
Article

Easy String to DateTime, DateTime to String and Formatting

Rate me:
Please Sign up or sign in to vote.
4.49/5 (70 votes)
28 Aug 2007CPOL 1.1M   111   33
Easy String to DateTime, DateTime to String and formatting

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

C#
// 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

C#
//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 string is 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 +/-.

Conclusion

I hope that this helped a bit, even if it is only as a reference to create new format strings. (Always handy!!!:))

For more information, please visit my site.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
New Zealand New Zealand
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionHow to show month in caps Pin
Sabeessh P2-Jan-08 19:10
Sabeessh P2-Jan-08 19:10 
AnswerRe: How to show month in caps Pin
Bertus Kruger3-Jan-08 10:06
Bertus Kruger3-Jan-08 10:06 
AnswerRe: How to show month in caps Pin
Sabeessh P3-Jan-08 17:14
Sabeessh P3-Jan-08 17:14 
Questionit doesn't work man???? Pin
prasonu12328-Aug-07 7:35
prasonu12328-Aug-07 7:35 
AnswerRe: it doesn't work man???? Pin
Bertus Kruger28-Aug-07 9:51
Bertus Kruger28-Aug-07 9:51 
AnswerRe: it doesn't work man???? Pin
Bertus Kruger28-Aug-07 10:32
Bertus Kruger28-Aug-07 10:32 
GeneralThanks for the comment. Pin
Bertus Kruger10-Jul-06 13:09
Bertus Kruger10-Jul-06 13:09 
GeneralSome supplemental info[sic] Pin
Ennis Ray Lynch, Jr.10-Jul-06 12:58
Ennis Ray Lynch, Jr.10-Jul-06 12:58 
http://msdn2.microsoft.com/en-us/library/w2sa9yss.aspx

A man said to the universe:
"Sir I exist!"
"However," replied the Universe, "The fact has not created in me A sense of obligation."

-- Stephen Crane

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.