نمایش تاریخ و زمان با فرمت دلخواه در سی شارپ
نمایش تاریخ و زمان رو به صورت دلخواه در سی شارپ به چه صورتی هست ؟ به عنوان مثال گاهی دیدم که به صورت زیر تاریخ و زمان رو نمایش میدن :
1399/05/02 15:25
و گاهی هم دیدم که به این صورت داره نمایش داده میشه :
1399/05/02 3:25 p.m
یا فرمت های دیگه ای که هست. لطفا راهنمایی بفرمایید نمایش تاریخ و زمان با فرمت دلخواه در سی شارپ چجوری انجام میشه ؟
پاسخ هوش مصنوعی
برای نمایش تاریخ و زمان با فرمت دلخواه در سی شارپ، می توانید از متد DateTime.ToString() استفاده کنید. با استفاده از این متد می توانید فرمت مورد نظر خود را تعیین کنید. در زیر چند نمونه از کدهایی که می توانید برای فرمت های مختلف استفاده کنید آورده شده است:
1. برای نمایش تاریخ به فرمت YYYY/MM/DD HH:mm:
DateTime now = DateTime.Now;
string formattedDate = now.ToString("yyyy/MM/dd HH:mm");
Console.WriteLine(formattedDate);
2. برای نمایش تاریخ به گونه YYYY/MM/DD h:mm tt که نشان دهنده صبح یا عصر است:
DateTime now = DateTime.Now;
string formattedDate = now.ToString("yyyy/MM/dd h:mm tt");
Console.WriteLine(formattedDate);
3. برای فرمت های مختلف دیگر، شما می توانید به سادگی فرمت را تغییر دهید. لیست کامل فرمت های ممکن را می توانید در مستندات مایکروسافت پیدا کنید.
نمایش تاریخ و زمان با فرمت دلخواه در سی شارپ
نکته اول در مورد تاریخ و زمان این هست که شما همیشه سعی کنید فیلدهای تاریخ و زمان رو در دیتابیس یه صورت DateTime ذخیره کنید. چون در این صورت میتونید به راحتی برای نمایش به تاریخ شمسی تبدیل کنید و همچنین در جستجو ها ازش استفاده کنید. این سوال و پاسخش رو مطالعه کنید. (تبدیل تاریخ میلادی به شمسی و بالعکس در سی شارپ)

خب حالا در مورد نمایش تاریخ و زمان با فرمت دلخواه در سی شارپ توضیحاتی رو خدمتتون عرض می کنم. توی این لینک که مربوط به خود سایت مایکروسافت هست لیست کاملی از فرمت ها و نحوه استفاده از اونها ارائه شده.
چند مثال از نمایش تاریخ و زمان با فرمت دلخواه در سی شارپ
// 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); // "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
خب ببینید در مثال بالا لیست کاملی از دستورات نمایش داده شده. اما اگر بخوایم به صورت دقیق تر استفاده از این دستورات رو بگیم به این صورت هست :
//این دستورات با استفاده از کلاس تبدیل تاریخ میلادی به شمسی نوشته شده
ConvertDateTime.ConvertMiladiToShamsi(DateTime.Now,"yyyy/MM/dd");
//خروجی
//1399/06/25
ConvertDateTime.ConvertMiladiToShamsi(DateTime.Now,"yyyy/MM/dd hh:mm");
//خروجی
//1399/06/25 01:23
ConvertDateTime.ConvertMiladiToShamsi(DateTime.Now,"yyyy/MM/dd HH:mm");
//خروجی
//1399/06/25 13:23
//
String.Format("{0:"yyyy/MM/dd"}", "2020-5-23");
//خروجی
//2020/05/23
کاراکترهای مورد استفاده در فرمت بندی تاریخ و زمان
کاراکترهایی که در هنگام فرمت بندی تاریخ و زمان استفاده می شود به شرح زیر می باشد
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' (*)
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- چرا استوری های واتس اپ برای دوستان نمایش داده نمیشن ؟
- چند تا استوری رایگان می تونیم تلگرام بذاریم ؟
- خطای Severity Code Description Project هنگام استارت پروژه
- کار نکردن navBar و sideBar در پروژه Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول