تبدیل تاریخ میلادی به شمسی و بلعکس

تبدیل تاریخ میلادی به شمسی و بلعکس

گاهاً دیده می شود که دوستان برنامه نویس برای تبدیل تاریخ های میلادی و شمسی به یکدیگر از کامپوننت ها و ابزارهای مختلفی استفاده می کنند غافل از اینکه بدانند با استفاده از توابع دات نت می‌توان به راحتی تاریخ‌ها را به یکدیگر تبدیل کرد. برای این منظور تصمیم گرفتیم آموزش تبدیل تاریخ میلادی به شمسی که همان تبدیل تاریخ سیستم به شمسی می‌باشد و تبدیل تاریخ شمسی به میلادی را در اینجا برای دوستان آموزش دهیم. در دات نت یک Reference یا همان توابع کتابخانه ای با نام PersianCalendar وجود دارد که با استفاده از توابع آن می توان به راحتی تاریخ ها را به یکدیگر تبدیل کرده و تمامی عملیات ممکن با تاریخ ها را با آن انجام دهیم. برای فهم هرچه بهتر موضوع لطفاً به کدهای زیر توجه فرمائید :

تبدیل تاریخ میلادی به شمسی

Dim pc As New System.Globalization.PersianCalendar()
Dim dt As DateTime=DateTime.Now
MessageBox.Show(pc.GetYear(dt).ToString() + "/" + pc.GetMonth(dt).ToString() + "/" + pc.GetDayOfMonth(dt).ToString())

تبدیل تاریخ میلادی به شمسی

System.Globalization.PersianCalendar pc=new System.Globalization.PersianCalendar();
DateTime dt=DateTime.Now;
MessageBox.Show(pc.GetYear(dt).ToString() + "/" + pc.GetMonth(dt).ToString() + "/" + pc.GetDayOfMonth(dt).ToString());

با استفاده از قطعه کدی که در بالا قرار داده شده است می توانید تاریخ سیستم را به تاریخ شمسی تبدیل کرده و نمایش دهید. اما این نکته قابل توجه است که جهت انجام صحیح عملیات تبدیل ، تاریخ میلادی سیستم می بایست با تاریخ روز مطابقت داشته باشد در غیر این صورت نتیجه صحیح نمی باشد. در صورت نیاز می توانید مقادیر را تغییر داده و ورودی تابع را به صورت دستی تعیین کنید.

تبدیل تاریخ شمسی به میلادی

Dim Tarikh As String="1365/10/28"
Dim Rooz As Integer=Integer.Parse(Tarikh.Substring(8, 2))
Dim Maah As Integer=Integer.Parse(Tarikh.Substring(5, 2))
Dim Saal As Integer=Integer.Parse(Tarikh.Substring(0, 4))
Dim pc As New System.Globalization.PersianCalendar()
MessageBox.Show(pc.ToDateTime(Saal, Maah, Rooz, 0, 0, 0, 0).ToString().Substring(0, 10))

تبدیل تاریخ شمسی به میلادی

string Tarikh="1365/10/28";
int Rooz=int.Parse(Tarikh.Substring(8, 2));
int Maah=int.Parse(Tarikh.Substring(5, 2));
int Saal=int.Parse(Tarikh.Substring(0, 4));
System.Globalization.PersianCalendar pc=new System.Globalization.PersianCalendar();
MessageBox.Show(pc.ToDateTime(Saal, Maah, Rooz, 0, 0, 0, 0).ToString().Substring(0, 10));

کدی که در این قسمت قرار داده شده برای آن دسته از دوستانی است که قصد تبدیل تاریخ شمسی به میلادی را داشته باشند به این صورت که تاریخ شمسی را در متغییر Tarikh وارد کرده سپس با استفاده از تابع ToDateTime تاریخ تبدیل شده و نتیجه نمایش داده می شود.



نظرات کاربران



عبارت امنیتی : حاصل 7 × 6 می شود :
متن پیام :