3565
عموما کلاسها و یا فایلهای dll زیادی در اینترنت برای تبدیل تاریخ میلادی به شمسی و یا شمسی به میلادی وجود دارد اما من برای کار خودم از این کلاس استفاده میکنم
کلاس برای دریافت تاریخ میلادی و یا شمسی و تبدیل به یکدیگر.
این کلاس رو میتوانید در یک پوشه ایجاد کنید و در کل پروژه با صدا زدن هر متد آن را اجرا کنید
public class ConvertDate
{
static PersianCalendar pc = new PersianCalendar();
public static DateTime PersianToGregorian(string persianDates)
{
string[] per = persianDates.Split('/');
int year = int.Parse(per[0]);
int month = int.Parse(per[1]);
int day = int.Parse(per[2]);
DateTime gDateTime = pc.ToDateTime(year, month, day, 12, 00, 0, 0);
return gDateTime;
}
public static string GregoriantoPersian(DateTime gdateTime)
{
return pc.GetYear(gdateTime) + "/" +
pc.GetMonth(gdateTime).ToString() + "/" + pc.GetDayOfMonth(gdateTime);
}
public static List<SelectListItem> GetDay()
{
var r = new List<SelectListItem>();
for (var i = 1; i <= 31; i++)
{
r.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() });
}
return r;
}
public static List<SelectListItem> GetMonth()
{
var months = new List<SelectListItem> {
new SelectListItem {Text = "فروردین", Value = "1"},
new SelectListItem {Text = "اردیبهشت", Value = "2"},
new SelectListItem {Text = "خرداد", Value = "3"},
new SelectListItem {Text = "تیر", Value = "4"},
new SelectListItem {Text = "مرداد", Value = "5"},
new SelectListItem {Text = "شهریور", Value = "6"},
new SelectListItem {Text = "مهر", Value = "7"},
new SelectListItem {Text = "آبان", Value = "8"},
new SelectListItem {Text = "آذر", Value = "9"},
new SelectListItem {Text = "دی", Value = "10"},
new SelectListItem {Text = "بهمن", Value = "11"},
new SelectListItem {Text = "اسفند", Value = "12"},
};
return months;
}
public static List<SelectListItem> GetYear()
{
var years = new List<SelectListItem>();
for (var i = 1320; i <= 1395; i++)
{
years.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() });
}
return years;
}
}