PDA

View Full Version : نمایش تاریخ شمسی به صورت حروف



majid_i68
جمعه 04 بهمن 1392, 10:27 صبح
سلام دوستان

من توی برنامه ام یک تاریخ میلادی دارم که با استفاده از کلاس PersianCalendar اون رو شمسی کردم و با یک
StringBuilder اون رو به اینصورت نمایش میدم 1392/10/5 حالا میخوام توی برنامه ام به این صورت هم نمایش داده بشه ( جمعه 4 بهمن 1392 ) من روشی رو که بلد بودم امتحان کردم .. اما تاریخ رو به همین فرمت اما به صورت عربی چاپ میکرد... نمیخوام از کامپونت جدا استفاده کنم.. دوستان کمک کنند

امیر مهرشاد
جمعه 04 بهمن 1392, 12:26 عصر
بفرما داداش امیدوارم با این مشکلت حل بشه



System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
lbldate.Text = p.GetYear(DateTime.Now).ToString() + "/" + p.GetMonth(DateTime.Now).ToString("0#") + "/" + p.GetDayOfMonth(DateTime.Now).ToString("0#");

switch (DateTime.Now.DayOfWeek)//مثل دوشنبه , سه شنبه روز
{
case DayOfWeek.Friday:
lblday.Text = "جمعه";
break;
case DayOfWeek.Monday:
lblday.Text = "دوشنبه";
break;
case DayOfWeek.Saturday:
lblday.Text = "شنبه";
break;
case DayOfWeek.Sunday:
lblday.Text = "یکشنبه";
break;
case DayOfWeek.Thursday:
lblday.Text = "پنجشنبه";
break;
case DayOfWeek.Tuesday:
lblday.Text = "سه شنبه";
break;
case DayOfWeek.Wednesday:
lblday.Text = "چهارشنبه";
break;
}

System.Globalization.PersianCalendar f = new System.Globalization.PersianCalendar();
label3.Text = f.GetMonth(DateTime.Now).ToString("0#");

switch (f.GetMonth(DateTime.Now))//
{
case 01:
label4.Text = "فروردین";
break;
case 02:
label4.Text = "اردیبهشت";
break;
case 03:
label4.Text = "خرداد";
break;
case 04:
label4.Text = "تیر";
break;
case 05:
label4.Text = "مرداد";
break;
case 06:
label4.Text = "شهریور";
break;
case 07:
label4.Text = "مهر";
break;
case 08:
label4.Text = "آبان";
break;
case 09:
label4.Text = "آذر";
break;
case 10:
label4.Text = "دی";
break;
case 11:
label4.Text = "بهمن";
break;
case 12:
label4.Text = "اسفند";
break;


}


System.Globalization.PersianCalendar d = new System.Globalization.PersianCalendar();
label4.Text = d.GetDayOfMonth(DateTime.Now).ToString("0#");

switch (d.GetMonth(DateTime.Now))
{
case 01:
label4.Text = "یکم";
break;
case 02:
label4.Text = "دوم";
break;
case 03:
label4.Text = "سوم";
break;
case 04:
label4.Text = "چهارم";
break;
case 05:
label4.Text = "پنجم";
break;
case 06:
label4.Text = "ششم";
break;
case 07:
label4.Text = "هفتم";
break;
case 08:
label4.Text = "هشتم";
break;
case 09:
label4.Text = "نهم";
break;
case 10:
label4.Text = "دهم";
break;
case 11:
label4.Text = "یازدهم";
break;
case 12:
label4.Text = "دوازدهم";
break;
case 13:
label4.Text = "سیزدهم";
break;
case 14:
label4.Text = "چهاردهم";
break;
case 15:
label4.Text = "پانزدهم";
break;
case 16:
label4.Text = "شانزدهم";
break;
case 17:
label4.Text = "هفدهم";
break;
case 18:
label4.Text = "هجدهم";
break;
case 19:
label4.Text = "نوزدهم";
break;
case 20:
label4.Text = "بیستم";
break;
case 21:
label4.Text = "بیست و یکم";
break;
case 22:
label4.Text = "بیست و دوم";
break;
case 23:
label4.Text = "بیست و سوم";
break;
case 24:
label4.Text = "بیست و چهارم";
break;
case 25:
label4.Text = "بیست و پنجم";
break;
case 26:
label4.Text = "بیست و ششم";
break;
case 27:
label4.Text = "بیست و هفتم";
break;
case 28:
label4.Text = "بیست و هشتم";
break;
case 29:
label4.Text = "بیست و نهم";
break;
case 30
label4.Text = "سیم";
break;
case 31:
label4.Text = "سی و یکم";
break;


}

امیر مهرشاد
جمعه 04 بهمن 1392, 12:30 عصر
اگر میخوای تاریخ رو اونجوری که گفتی فقط توی یه لیبل نمایش بدی بجای لیبل توی سوئیچ از متغیر استفاده کن و نتیجه رو برگردون به تکس لیبل تاریخت


labeldate.text= day+mount+year;

majid_i68
جمعه 04 بهمن 1392, 13:04 عصر
ممنون دوست عزیز .. میخوام ببینم نمیشه از فرمت string برای این کار استفاده کرد
objPersian.GetMonth(objDate).ToString("D",CultureInfo.CreateSpecificCulture("fa-IR")));