示例#1
0
        internal static string DayOfWeek(PersianDate date)
        {
            if (!date.IsNull)
            {
                var dt = ToGregorianDateTime(date);
                return(DayOfWeek(dt));
            }

            return(string.Empty);
        }
示例#2
0
        /// <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));
        }
示例#3
0
 public static DateTime ToGregorianDateTime(PersianDate date)
 {
     return(DateTime.Parse(ToGregorianDate(date), CultureHelper.NeutralCulture));
 }
示例#4
0
        /// <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));
        }