PDA

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



mazaher5723
یک شنبه 28 خرداد 1391, 00:35 صبح
سلام دوستان
تو سی شارپ تابعی هست که تایخ شمسی رو به میلادی تبدیل کنم؟

omidamiry
یک شنبه 28 خرداد 1391, 01:02 صبح
بله وجود داره اول میگشتی پیدا میکردی و احتاجی به پست نبود

تابع زیر کامله


using System.Globalization;
private void timer1_Tick(object sender, EventArgs e)
{

PersianCalendar pc = new PersianCalendar();
toolStripStatusLabel5.Text = pc.GetHour(DateTime.Now).ToString("0,0") + ":" + pc.GetMinute(DateTime.Now).ToString("0,0") + ":" + pc.GetSecond(DateTime.Now).ToString("0,0");

toolStripStatusLabel4.Text = pc.GetYear(DateTime.Now).ToString() + "/" + pc.GetMonth(DateTime.Now).ToString("0,0") + "/" + pc.GetDayOfMonth(DateTime.Now).ToString("0,0");

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

toolStripStatusLabel3.ForeColor = Color.Black;
switch ((pc.GetDayOfWeek(DateTime.Now)).ToString())
{
case "Saturday": toolStripStatusLabel3.Text = "شنبه"; break;
case "Sunday": toolStripStatusLabel3.Text = "یک شنبه"; break;
case "Monday": toolStripStatusLabel3.Text = "دو شنبه"; break;
case "Tuesday": toolStripStatusLabel3.Text = "سه شنبه"; break;
case "Wednesday": toolStripStatusLabel3.Text = "چهار شنبه"; break;
case "Thursday": toolStripStatusLabel3.Text = "پنج شنبه"; break;
case "Friday": toolStripStatusLabel3.Text = "جمعه"; toolStripStatusLabel3.ForeColor = Color.Red; break;
}


}

iman_me
یک شنبه 28 خرداد 1391, 01:22 صبح
دوست عزیز ایشون نوشتم شمسی به میلادی نه میلادی به شمسی


System.Globalization.PersianCalendar pr = new System.Globalization.PersianCalendar();
pr.ToDateTime(1391, 3, 28, 0, 0, 0, 0);

mousa1992
یک شنبه 28 خرداد 1391, 18:29 عصر
سلام

public class dateconvert
{
PersianCalendar p = new PersianCalendar();
public string miladitoshamsi(DateTime date)
{
string datestr = string.Format("{0}/{1}/{2}", p.GetYear(date).ToString("00"), p.GetMonth(date).ToString("00"), p.GetDayOfMonth(date).ToString("00"));
return datestr;
}
public DateTime shamsitomiladi(string datestr)
{
int year = int.Parse(datestr.Substring(0, 4));
int month = int.Parse(datestr.Substring(5, 2));
int day = int.Parse(datestr.Substring(8, 2));
DateTime date = p.ToDateTime(year, month, day, 0, 0, 0, 0);
return date;
}
}