/// <summary> /// /// </summary> /// <param name="persianDate"></param> /// <returns></returns> public static DateTime PersianDateTimeToGergorian(List <int> persianDate) { var persianCalendar = new System.Globalization.PersianCalendar(); DateTime date = new DateTime(1900, 1, 1); List <int> Start = GergorianDateTimeToPersion(date); date = persianCalendar.AddYears(date, persianDate[0] - Start[0]); date = persianCalendar.AddMonths(date, persianDate[1] - Start[1]); date = persianCalendar.AddDays(date, persianDate[2] - Start[2]); try { date = persianCalendar.AddHours(date, persianDate[3] - Start[3]); date = persianCalendar.AddMinutes(date, persianDate[4] - Start[4]); date = persianCalendar.AddSeconds(date, persianDate[5] - Start[5]); } catch { date = persianCalendar.AddHours(date, 12 - Start[3]); date = persianCalendar.AddMinutes(date, 0 - Start[4]); date = persianCalendar.AddSeconds(date, 0 - Start[5]); } return(date); }