zahracomputer
جمعه 11 آبان 1386, 20:29 عصر
سلام دوستان
من برای تبدیل تاریخ میلادی به شمسی میخوام از persiancalender خود .NET استفاده کنم ، برای این منظور یک کلاس به صورت زیر تعریف کرده ام:
publicclassPcalendar
{
PersianCalendar Calend = newPersianCalendar();
DateTime Now = newDateTime();
publicstring WhatDay()
{
int iDayOfMonth = Calend.GetDayOfMonth(Now);
int iMonth = Calend.GetMonth(Now);
int iYear = Calend.GetYear(Now);
return iDayOfMonth.ToString() + "/" + iMonth.ToString ()+ "/" + iYear.ToString();
}
publicstring WhatDayToString()
{
int iDayOfMonth = Calend.GetDayOfMonth(Now);
int iDayOfWeek = Convert.ToInt32(Calend.GetDayOfWeek(Now));
int iMonth = Calend.GetMonth(Now);
int iYear = Calend.GetYear(Now);
string[] SMonth = {"فرورد?ن", "ارد?بهشت", "خرداد", "ت?ر", "مرداد", "شهر?ور", "مهر", "آبان", "آذر", "د?",
"بهمن", "اسفند"};
string[] SDay = { "?ک شنبه", "دوشنبه", "سه شنبه", "چهار شنبه", "پنج شنبه", "جمعه", "شنبه" };
return (SDay[iDayOfWeek].ToString() + " , " + iDayOfMonth+ " " + SMonth[iMonth - 1].ToString() + " , " + iYear.ToString());
}
public Pcalendar()
{
//
// TODO: Add constructor logic here
//
}
}
و در برنامه به شکل زیر از آن استفاده کرده ام:
protectedvoid Page_Load(object sender, EventArgs e)
{
Pcalendar pca = newPcalendar();
Label1.Text = pca.WhatDay();
}
ولی هنگام اجرا خطای زیر را میدهد
Specified time is not supported in this calendar. It should be between 03/21/0622 00:00:00 (Gregorian date) and 12/31/9999 23:59:59 (Gregorian date), inclusive.
Parameter name: time
که این خطا را روی خط زیر نشان میدهد
int iDayOfMonth = Calend.GetDayOfMonth(Now);
با تشکر
من برای تبدیل تاریخ میلادی به شمسی میخوام از persiancalender خود .NET استفاده کنم ، برای این منظور یک کلاس به صورت زیر تعریف کرده ام:
publicclassPcalendar
{
PersianCalendar Calend = newPersianCalendar();
DateTime Now = newDateTime();
publicstring WhatDay()
{
int iDayOfMonth = Calend.GetDayOfMonth(Now);
int iMonth = Calend.GetMonth(Now);
int iYear = Calend.GetYear(Now);
return iDayOfMonth.ToString() + "/" + iMonth.ToString ()+ "/" + iYear.ToString();
}
publicstring WhatDayToString()
{
int iDayOfMonth = Calend.GetDayOfMonth(Now);
int iDayOfWeek = Convert.ToInt32(Calend.GetDayOfWeek(Now));
int iMonth = Calend.GetMonth(Now);
int iYear = Calend.GetYear(Now);
string[] SMonth = {"فرورد?ن", "ارد?بهشت", "خرداد", "ت?ر", "مرداد", "شهر?ور", "مهر", "آبان", "آذر", "د?",
"بهمن", "اسفند"};
string[] SDay = { "?ک شنبه", "دوشنبه", "سه شنبه", "چهار شنبه", "پنج شنبه", "جمعه", "شنبه" };
return (SDay[iDayOfWeek].ToString() + " , " + iDayOfMonth+ " " + SMonth[iMonth - 1].ToString() + " , " + iYear.ToString());
}
public Pcalendar()
{
//
// TODO: Add constructor logic here
//
}
}
و در برنامه به شکل زیر از آن استفاده کرده ام:
protectedvoid Page_Load(object sender, EventArgs e)
{
Pcalendar pca = newPcalendar();
Label1.Text = pca.WhatDay();
}
ولی هنگام اجرا خطای زیر را میدهد
Specified time is not supported in this calendar. It should be between 03/21/0622 00:00:00 (Gregorian date) and 12/31/9999 23:59:59 (Gregorian date), inclusive.
Parameter name: time
که این خطا را روی خط زیر نشان میدهد
int iDayOfMonth = Calend.GetDayOfMonth(Now);
با تشکر