using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Project { class CountDayInDate { public string DayInDate(string FirstDate,string EndDate) { FirstDate = UpdateDateFormat(FirstDate); EndDate = UpdateDateFormat(EndDate); //****** System.Globalization.PersianCalendar persia = new System.Globalization.PersianCalendar(); Int16 StartYear = Convert.ToInt16(FirstDate.Substring(0, 4)); Int16 StartMonth = Convert.ToInt16(FirstDate.Substring(5, 2)); Int16 StartDay = Convert.ToInt16(FirstDate.Substring(8, 2)); Int16 EndYear = Convert.ToInt16(EndDate.Substring(0, 4)); Int16 EndMonth = Convert.ToInt16(EndDate.Substring(5, 2)); Int16 EndDay = Convert.ToInt16(EndDate.Substring(8, 2)); DateTime StartDateTime = persia.ToDateTime(StartYear, StartMonth, StartDay, 0, 0, 0, 0); DateTime EndDateTime = persia.ToDateTime(EndYear, EndMonth, EndDay, 0, 0, 0, 0); TimeSpan Difference = EndDateTime - StartDateTime; int Days = Difference.Days; return Days.ToString(); } private string UpdateDateFormat(string Command) { try { if (Command != string.Empty) { string year, month, day; string Sub_date;//holde sub date for example 12/5 or 86/12 year = Command.Substring(Command.LastIndexOf("/") + 1);//read day or year Sub_date = Command.Substring(0, Command.LastIndexOf("/")); month = Sub_date.Substring(Sub_date.LastIndexOf("/") + 1);//read month day = Sub_date.Substring(0, Sub_date.LastIndexOf("/")); //now bild normal date if (Convert.ToInt32(year) < Convert.ToInt32(day))//if year value saved in day { string value = day; day = year; year = value; } if (day.Length == 1)//bild normal day day = "0" + day; if (month.Length == 1)//bild normal month month = "0" + month; if (year.Length == 2)//bild normal year year = "13" + year; // Command = year + "/" + month + "/" + day; } return Command; } catch (Exception) { MessageBox.Show("تاریخ را درست وارد نمایید"); return ""; } } } }