String.Format & DateTime.ToString
بسم الله الرحمن الرحیم
آموزش String.Format & DateTime.ToString
String.Format & DateTime
در بسیاری از موارد شما می خواهید یک DateTime را به صورت های مختلف در برنامه خود نمایش دهید. بهترین روش انجام کار استفاده از String.Format می باشد.
در این آموزش قصد داریم فرمت ها و روش های مختلف نمایش تاریخ و زمان را در مثال های متفاوت نمایش دهیم تا از این پس در هر زمانی که نیاز به نمایش تاریخ و زمان در قالب خاصی داشتید بتوانید به سادگی با استفاده از این مثال ها کار خود را انجام دهید.
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year
String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month
String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24
String.Format("{0:m mm}", dt); // "5 05" minute
String.Format("{0:s ss}", dt); // "7 07" second
String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction
String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes
String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone
شما می توانید بین تاریخ و زمان از جدا کننده هایی مانند "/" و ":" استفاده نمایید.
بسم الله الرحمن الرحیم
آموزش String.Format & DateTime.ToString
String.Format & DateTime
در بسیاری از موارد شما می خواهید یک DateTime را به صورت های مختلف در برنامه خود نمایش دهید. بهترین روش انجام کار استفاده از String.Format می باشد.
در این آموزش قصد داریم فرمت ها و روش های مختلف نمایش تاریخ و زمان را در مثال های متفاوت نمایش دهیم تا از این پس در هر زمانی که نیاز به نمایش تاریخ و زمان در قالب خاصی داشتید بتوانید به سادگی با استفاده از این مثال ها کار خود را انجام دهید.
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year
String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month
String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24
String.Format("{0:m mm}", dt); // "5 05" minute
String.Format("{0:s ss}", dt); // "7 07" second
String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction
String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes
String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone
شما می توانید بین تاریخ و زمان از جدا کننده هایی مانند "/" و ":" استفاده نمایید.
// date separator in german culture is "." (so "/" changes to ".")
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2008 16:05:07" - english (en-US)
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9.3.2008 16:05:07" - german (de-DE)
در این جا چند مثال از نحوه ایجاد تاریخ و زمان به شکل های مختلف ایجاد کرده ایم.
// month/day numbers without/with leading zeroes
String.Format("{0:M/d/yyyy}", dt); // "3/9/2008"
String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
// day/month names
String.Format("{0:ddd, MMM d, yyyy}", dt); // "Sun, Mar 9, 2008"
String.Format("{0:dddd, MMMM d, yyyy}", dt); // "Sunday, March 9, 2008"
// two/four digit year
String.Format("{0:MM/dd/yy}", dt); // "03/09/08"
String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
کار با DateTimeFormatInfo
علاوه بر روش های بالا، استاندارد هایی نیز به صورت پیش فرض وجود دارد که در ساخت قالب های تاریخ و زمان می تواند مورد استفاده قرار گیرد. این قالب ها بر اساس culture جاری تعریف شده در کامپیوتر مورد استفاده می تواند متفاوت باشد. به طور مثال اگر از ShortTimePattern در en-US culture استفاده شود خروجی h:mm tt را نمایش خواهد داد و اگر همین الگو (ShortTimePattern) در de-DE culture استفاده شود خروجی HH:mm را به نمایش خواهد گذاشت.
در بخش مثال های متفاوتی را برای شما آماده کرده ایم. این مثال ها بر اساس en-US culture است.
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 SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
u UniversalSortableDateTimePattern yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*)
(*) = culture independent
کار با String.Format
اگر بخواهیم از الگو های (Pattern) بالا استفاده کنیم، می توانیم به صورت زیر عمل کنیم
String.Format("{0:t}", dt); // "4:05 PM" ShortTime
String.Format("{0:d}", dt); // "3/9/2008" ShortDate
String.Format("{0:T}", dt); // "4:05:07 PM" LongTime
String.Format("{0:D}", dt); // "Sunday, March 09, 2008" LongDate
String.Format("{0:f}", dt); // "Sunday, March 09, 2008 4:05 PM" LongDate+ShortTime
String.Format("{0:F}", dt); // "Sunday, March 09, 2008 4:05:07 PM" FullDateTime
String.Format("{0:g}", dt); // "3/9/2008 4:05 PM" ShortDate+ShortTime
String.Format("{0:G}", dt); // "3/9/2008 4:05:07 PM" ShortDate+LongTime
String.Format("{0:m}", dt); // "March 09" MonthDay
String.Format("{0:y}", dt); // "March, 2008" YearMonth
String.Format("{0:r}", dt); // "Sun, 09 Mar 2008 16:05:07 GMT" RFC1123
String.Format("{0:s}", dt); // "2008-03-09T16:05:07" SortableDateTime
String.Format("{0:u}", dt); // "2008-03-09 16:05:07Z" 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 |
SortableDateTimePattern |
yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
|
u |
UniversalSortableDateTimePattern |
yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*)
|
(*) = culture independent |
همچنین می توانید از دستورات زیر نیز استفاده کنید
Specifier | Description | Output |
---|---|---|
d | Short Date | 08/04/2007 |
D | Long Date | 08 April 2007 |
t | Short Time | 21:08 |
T | Long Time | 21:08:59 |
f | Full date and time | 08 April 2007 21:08 |
F | Full date and time (long) | 08 April 2007 21:08:59 |
g | Default date and time | 08/04/2007 21:08 |
G | Default date and time (long) | 08/04/2007 21:08:59 |
M | Day / Month | 08 April |
r | RFC1123 date | Sun, 08 Apr 2007 21:08:59 GMT |
s | Sortable date/time | 2007-04-08T21:08:59 |
u | Universal time, local timezone | 2007-04-08 21:08:59Z |
Y | Month / Year | April 2007 |
dd | Day | 08 |
ddd | Short Day Name | Sun |
dddd | Full Day Name | Sunday |
hh | 2 digit hour | 09 |
HH | 2 digit hour (24 hour) | 21 |
mm | 2 digit minute | 08 |
MM | Month | 04 |
MMM | Short Month name | Apr |
MMMM | Month name | April |
ss | seconds | 59 |
fff | milliseconds | 120 |
FFF | milliseconds without trailing zero | 12 |
tt | AM/PM | PM |
yy | 2 digit year | 07 |
yyyy | 4 digit year | 2007 |
: | Hours, minutes, seconds separator, e.g. {0:hh:mm:ss} | 09:08:59 |
/ | Year, month , day separator, e.g. {0:dd/MM/yyyy} | 08/04/2007 |