PDA

View Full Version : مشکل در کار با PersianCalandar



pooya1072
یک شنبه 05 خرداد 1392, 14:40 عصر
سلام
امروز یکشنبه 5/3/92 . من می خوام این تاریخ رو از persiancalandar بگیرم . معادل تاریخ میلادی امروز 26/5/2013
از دستورات زیر استفاده کردم :

PersianCalandar pc = new PersianCalandar();
int DayOfMonth = pc.GetDayOfMonth(Today);
int DayOfWeek = pc.GetDayOfWeek(Today);

مقدار DayOfMonth درسته و 5 رو بر میگردونه ولی مقدار DayOfWeek که باید 1 (معادل یکشنبه) باشه رو 0 بر میگردونه که معادل روز شنبه میشه . من این رو روی دو سیستم دیگه هم تست کردم . شما هم تستش کنید . ببینید می تونید مشکل رو حل کنید .
ممنون

alexmcse
یک شنبه 05 خرداد 1392, 20:57 عصر
دوست عزیز چون که روز اول هفته میلادی یک شنبه است باید عدد صفر را بر گرداند درست است
از تابع زیر استفاده کن
private void PersianDate(DateTime datetime)
{
PersianCalendar persian = new PersianCalendar();
string d = persian.GetDayOfWeek(datetime).ToString();

switch (d)
{
case "Friday":
lbl_datetime.Text = "جمعه " .Trim()+ persian.GetYear(datetime) + "/" + persian.GetMonth(datetime) + "/" + persian.GetDayOfMonth(datetime).ToString();
break;
case "Monday":
lbl_datetime.Text = "دوشنبه " .Trim()+ persian.GetYear(datetime) + "/" + persian.GetMonth(datetime) + "/" + persian.GetDayOfMonth(datetime).ToString();
break;
case "Saturday":
lbl_datetime.Text = "شنبه " .Trim()+ persian.GetYear(datetime) + "/" + persian.GetMonth(datetime) + "/" + persian.GetDayOfMonth(datetime).ToString();
break;
case "Sunday":
lbl_datetime.Text = "یک شنبه " .Trim()+ persian.GetYear(datetime) + "/" + persian.GetMonth(datetime) + "/" + persian.GetDayOfMonth(datetime).ToString();
break;
case "Thursday":
lbl_datetime.Text = "پنج شنبه " .Trim()+ persian.GetYear(datetime) + "/" + persian.GetMonth(datetime) + "/" + persian.GetDayOfMonth(datetime).ToString();
break;
case "Tuesday":
lbl_datetime.Text = "سه شنبه " .Trim()+ persian.GetYear(datetime) + "/" + persian.GetMonth(datetime) + "/" + persian.GetDayOfMonth(datetime).ToString();
break;
case "Wednesday":
lbl_datetime.Text = "چهار شنبه ".Trim() + persian.GetYear(datetime) + "/" + persian.GetMonth(datetime) + "/" + persian.GetDayOfMonth(datetime).ToString();
break;

}
}