برای استفاده از تاریخ شمسی مایکروسافت کافی است ابتدای خط کلاسی که ایجاد می کنید از این دستور استفاده کنید
using System.Globalization;
تبدیل تاریخ میلادی به شمسی
public static string PersianDate(System.DateTime TodayDate)
{
string Per;
PersianCalendar ps = new();
Per = ps.GetYear(TodayDate) + "/" + ps.GetMonth(TodayDate).ToString("00") + "/" + ps.GetDayOfMonth(TodayDate).ToString("00");
return Per;
}
تاریخ شمسی ( حروف و عدد ) نمونه : امروز پنجشنبه ، 2 مهر سال 1402
public static string RoozPersian(DateTime TodayDate)
{
return $"امروز {GetDayOfWeek(TodayDate)} ، {PersianDate(TodayDate).Substring(8, 2)} {DateMahFarsi(PersianDate(TodayDate).Substring(5, 2))} سال {PersianDate(TodayDate).Substring(0, 4)}";
}
تاریخ شمسی بدست آوردن روزهای هفته به حروف فارسی
public static string GetDayOfWeek(System.DateTime DateString)
{
PersianCalendar Pt = new PersianCalendar();
DayOfWeek day = Pt.GetDayOfWeek(DateString);
switch (day)
{
case DayOfWeek.Saturday:
return "شنبه";
case DayOfWeek.Sunday:
return "یکشنبه";
case DayOfWeek.Monday:
return "دوشنبه";
case DayOfWeek.Tuesday:
return "سه شنبه";
case DayOfWeek.Wednesday:
return "چهارشنبه";
case DayOfWeek.Thursday:
return "پنجشنبه";
case DayOfWeek.Friday:
return "جمعه";
}
return "Err";
}
تاریخ شمسی بدست آوردن ماه های سال به حروف فارسی
public static string DateMahFarsi(string MaheSal)
{
string NameSeason = "Err";
switch (MaheSal)
{
case "01":
NameSeason = "فروردین";
break;
case "02":
NameSeason = "اردیبهشت";
break;
case "03":
NameSeason = "خرداد";
break;
case "04":
NameSeason = "تیر";
break;
case "05":
NameSeason = "مرداد";
break;
case "06":
NameSeason = "شهریور";
break;
case "07":
NameSeason = "مهر";
break;
case "08":
NameSeason = "آبان";
break;
case "09":
NameSeason = "آذر";
break;
case "10":
NameSeason = "دی";
break;
case "11":
NameSeason = "بهمن";
break;
case "12":
NameSeason = "اسفند";
break;
}
return NameSeason;
}