internal static string DayOfWeek(PersianDate date) { if (!date.IsNull) { var dt = ToGregorianDateTime(date); return(DayOfWeek(dt)); } return(string.Empty); }
/// <summary> /// Converts a Persian Date of type <c>String</c> to Gregorian Date of type <c>String</c>. /// </summary> /// <param name="date"></param> /// <returns>Gregorian DateTime representation in string format of evaluated Jalali Date.</returns> public static string ToGregorianDate(PersianDate date) { var jyear = date.Year; var jmonth = date.Month; var jday = date.Day; //Continue int i; var totalDays = JalaliDays(jyear, jmonth, jday); totalDays = totalDays + GYearOff; var gyear = (int)(totalDays / (Solar - 0.25 / 33)); var Div4 = gyear / 4; var Div100 = gyear / 100; var Div400 = gyear / 400; var gdays = totalDays - (365 * gyear) - (Div4 - Div100 + Div400); gyear = gyear + 1; if (gdays == 0) { gyear--; gdays = GLeap(gyear) == 1 ? 366 : 365; } else { if (gdays == 366 && GLeap(gyear) != 1) { gdays = 1; gyear++; } } var leap = GLeap(gyear); for (i = 0; i <= 12; i++) { if (gdays <= GDayTable[leap, i]) { break; } gdays = gdays - GDayTable[leap, i]; } var iGMonth = i + 1; var iGDay = gdays; return(Util.toDouble(iGMonth) + "/" + Util.toDouble(iGDay) + "/" + gyear + " " + Util.toDouble(date.Hour) + ":" + Util.toDouble(date.Minute) + ":" + Util.toDouble(date.Second)); }
public static DateTime ToGregorianDateTime(PersianDate date) { return(DateTime.Parse(ToGregorianDate(date), CultureHelper.NeutralCulture)); }
/// <summary> /// Converts a Persian Date of type <c>String</c> to Gregorian Date of type <c>DateTime</c> class. /// </summary> /// <param name="date">Date to evaluate</param> /// <returns>Gregorian DateTime representation of evaluated Jalali Date.</returns> public static DateTime ToGregorianDateTime(string date) { var pd = new PersianDate(date); return(DateTime.Parse(ToGregorianDate(pd), CultureHelper.NeutralCulture)); }