PDA

View Full Version : سوال: مشکل تبدیل تاریخ میلادی به شمسی



alikhazaie
شنبه 31 فروردین 1398, 01:55 صبح
با سلام
من میخوام در سی شارپ از کاربر تاریخ میلادی دریافت کنم و شمسی نمایش بدم اما هر کدی مینویسم یه جا گیر میکنم کسی میتونه کمک کنه؟؟؟؟ یا کدی بده کارم راه بیوفته؟؟
ممنون میشم

alexmcse
شنبه 31 فروردین 1398, 02:31 صبح
private void dateTimePicker1_ValueChanged(object sender, EventArgs e) {
System.Globalization. PersianCalendar p = new PersianCalendar();
MessageBox.Show( p.GetYear(dateTimePicker1.Value)+@"/"+p.GetMonth( dateTimePicker1.Value )+@"/"+p.GetDayOfMonth( dateTimePicker1.Value ));
}

saeidfar
شنبه 31 فروردین 1398, 23:03 عصر
public static void _NOwDate(DateTime ds)
{
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
string pday = "";
string dp = pc.GetDayOfWeek(ds).ToString();
switch (dp)
{
case "Saturday":
pday = "شنبه";
break;
case "Sunday":
pday = "يكشنبه";
break;
case "Monday":
pday = "دوشنبه";
break;
case "Tuesday":
pday = "سه شنبه";
break;
case "Wednesday":
pday = "چهارشنبه";
break;
case "Thursday":
pday = "پنج شنبه";
break;
case "Friday":
pday = "جمعه";
break;
}
string mah = pc.GetMonth(ds).ToString();
if (Convert.ToInt32(mah) < 10)
mah = "0" + mah;
string dy = pc.GetDayOfMonth(ds).ToString();
if (Convert.ToInt32(dy) < 10)
dy = "0" + dy;
VMonth = int.Parse(mah);
VDay = int.Parse(dy);
VYear = int.Parse(pc.GetYear(ds).ToString());
string Time_Day = String.Format("{0} {1}", (ds).ToLongTimeString(), pday);
string nowdateshamsi = String.Format("{0}/{1}/{2} {3}", pc.GetYear(ds), mah, dy, pday);
string nowdateshamsi_s = String.Format("{0}/{1}/{2}", pc.GetYear(ds), mah, dy);
string nowyearshamsi = pc.GetYear(ds).ToString();
}

این یه تابع هست که یک تاریخ میلادی رو به عنوان ورودی میگیره و از هر 4 رشته آخر میتونی به عنوان خروجی استفاده کنی، 4 مدل مختلف