String Format for DateTime in C#

String Format for DateTime in C#

To Custom DateTime Format

There are following custom format specifiers is available y (year),

M (month), d (day), h (hour 12),

H (hour 24), m (minute), s (second),

f (second fraction), F (second fraction, trailing

zeroes are trimmed), t (P.M or A.M) and z

(time zone).

// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

String.Format("{0:y yy yyy yyyy}", dt);  // "9 09 009 2009"   year
String.Format("{0:M MM MMM MMMM}", dt);  // "7 07 JUL July"  month
String.Format("{0:d dd ddd dddd}", dt);  // "2 02 Mon Monday" day
String.Format("{0:h hh H HH}",     dt);  // "3 03 15 15"      h-12/H-24
String.Format("{0:m mm}",          dt);  // "4 04"            minute
String.Format("{0:s ss}",          dt);  // "9 09"            second
String.Format("{0:t tt}",          dt);  // "P PM"            A.M. or P.M.
String.Format("{0:z zz zzz}",      dt);  // "-5 -05 -05:00"   time zone
String.Format("{0:f ff fff ffff}", dt);  // "4 43 432 4320"   sec.fraction
String.Format("{0:F FF FFF FFFF}", dt);  // "4 43 432 432"    without zeroes
// date separator in german culture is "." (so "/" changes to ".")
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "1/1/2010 10:08:27" - english
String.Format("{0:d.M.yyyy HH:mm:ss}", dt); // "1.1.2010 10:08:27" - german
// month/day numbers without/with leading zeroes
String.Format("{0:M/d/yyyy}", dt);            // "1/14/2009"
String.Format("{0:MM/dd/yyyy}", dt);          // "01/14/2009"

// day/month names
String.Format("{0:ddd, MMM d, yyyy}", dt);    // "Sun, Nov 15, 2009"
String.Format("{0:dddd, MMMM d, yyyy}", dt);  // "Sunday, November 15, 2009"

// two/four digit year
String.Format("{0:MM/dd/yy}", dt);            // "01/01/10"
String.Format("{0:MM/dd/yyyy}", dt);          // "01/01/2010"

Examples show usage of standard format specifiers in String.Format method and the resulting output.

String.Format("{0:t}", dt);  // "5:25 PM"                         ShortTime
String.Format("{0:d}", dt);  // "11/15/2009"                        ShortDate
String.Format("{0:T}", dt);  // "5:25:37 PM"                      LongTime
String.Format("{0:D}", dt);  // "Sunday, November 15, 2009"          LongDate
String.Format("{0:f}", dt);  // "Sunday, November 15, 2009 5:25 AM"  LongDate+ShortTime
String.Format("{0:F}", dt);  // "Sunday, November 09, 2009 5:25:37 AM" FullDateTime
String.Format("{0:g}", dt);  // "3/9/2008 5:25 PM"                ShortDate+ShortTime
String.Format("{0:G}", dt);  // "3/9/2008 5:25:37 PM"             ShortDate+LongTime
String.Format("{0:m}", dt);  // "November 15"                        MonthDay
String.Format("{0:y}", dt);  // "November, 2009"                     YearMonth
String.Format("{0:r}", dt);  // "Sun, 15 Nov 2009 17:25:37 GMT"   RFC1123
String.Format("{0:s}", dt);  // "2009-11-15T17:25:37"             SortableDateTime
String.Format("{0:u}", dt);  // "2009-11-15 17:25:37Z"            UniversalSortableDateTime
Specifier DateTimeFormatInfo property Pattern value (for en-US culture)
t ShortTimePattern h:mm tt
d ShortDatePattern M/d/yyyy
T LongTimePattern h:mm:ss tt
D LongDatePattern dddd, MMMM dd, yyyy
f (combination of D and t) dddd, MMMM dd, yyyy h:mm tt
F FullDateTimePattern dddd, MMMM dd, yyyy h:mm:ss tt
g (combination of d and t) M/d/yyyy h:mm tt
G (combination of d and T) M/d/yyyy h:mm:ss tt
m, M MonthDayPattern MMMM dd
y, Y YearMonthPattern MMMM, yyyy
r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' *
s SortableDateTi­mePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss *
u UniversalSorta­bleDateTimePat­tern yyyy'-'MM'-'dd HH':'mm':'ss'Z' *
    * = culture independent

One thought on “String Format for DateTime in C#

Leave a Reply