fixed_from_dmy() public static method

The method returns the fixed day number of the given Hebrew date.
public static fixed_from_dmy ( int day, int month, int year ) : int
day int An integer representing the day of the month, /// counting from 1. ///
month int An integer representing the month in the /// Hebrew year. ///
year int An integer representing the Hebrew year. /// Non-positive values are allowed also. ///
return int
Ejemplo n.º 1
0
        /// <summary>
        /// Overridden. Gives the number of days of the specified
        /// year of the given era.
        /// </summary>
        /// <param name="year">An integer that specifies the year.
        /// </param>
        /// <param name="era">An ineger that specifies the era.
        /// </param>
        /// <returns>An integer that gives the number of days of the
        /// specified year.</returns>
        /// <exception cref="T:System.ArgumentOutOfRangeExceiption">
        /// The exception is thrown, if
        /// <paramref name="year"/> or <paramref name="era"/> are outside the
        /// allowed range.
        /// </exception>
        public override int GetDaysInYear(int year, int era)
        {
            M_CheckYE(year, ref era);
            int rd1 = CCHebrewCalendar.fixed_from_dmy(1, 7, year);
            int rd2 = CCHebrewCalendar.fixed_from_dmy(1, 7, year + 1);

            return(rd2 - rd1);
        }
Ejemplo n.º 2
0
        /// <summary>Returns the number of days in the specified year in the specified era.</summary>
        /// <returns>The number of days in the specified year in the specified era.</returns>
        /// <param name="year">An integer that represents the year. </param>
        /// <param name="era">An integer that represents the era. Specify either <see cref="F:System.Globalization.HebrewCalendar.HebrewEra" /> or <see cref="F:System.Globalization.Calendar.CurrentEra" />.</param>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        ///   <paramref name="year" /> or <paramref name="era" /> is outside the range supported by the current <see cref="T:System.Globalization.HebrewCalendar" /> object. </exception>
        public override int GetDaysInYear(int year, int era)
        {
            this.M_CheckYE(year, ref era);
            int num  = CCHebrewCalendar.fixed_from_dmy(1, 7, year);
            int num2 = CCHebrewCalendar.fixed_from_dmy(1, 7, year + 1);

            return(num2 - num);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Overridden. Gives the number of the day in the year.
        /// </summary>
        /// <param name="time">The
        /// <see cref="T:System.DateTime"/> that specifies a
        /// date.
        /// </param>
        /// <returns>An integer representing the day of the year,
        /// starting with 1.</returns>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        /// The exception is thrown if the
        /// <see cref="T:System.DateTime"/> parameter is not in the years
        /// between 5343 A.M. and 6000 A.M., inclusive.
        /// </exception>
        public override int GetDayOfYear(DateTime time)
        {
            M_CheckDateTime(time);
            int rd    = CCFixed.FromDateTime(time);
            int year  = CCHebrewCalendar.year_from_fixed(rd);
            int rd1_7 = CCHebrewCalendar.fixed_from_dmy(1, 7, year);

            return(rd - rd1_7 + 1);
        }
Ejemplo n.º 4
0
        /// <summary>Returns a <see cref="T:System.DateTime" /> that is set to the specified date and time in the specified era.</summary>
        /// <returns>The <see cref="T:System.DateTime" /> that is set to the specified date and time in the current era.</returns>
        /// <param name="year">An integer that represents the year. </param>
        /// <param name="month">An integer from 1 to 13 that represents the month. </param>
        /// <param name="day">An integer from 1 to 30 that represents the day. </param>
        /// <param name="hour">An integer from 0 to 23 that represents the hour. </param>
        /// <param name="minute">An integer from 0 to 59 that represents the minute. </param>
        /// <param name="second">An integer from 0 to 59 that represents the second. </param>
        /// <param name="millisecond">An integer from 0 to 999 that represents the millisecond. </param>
        /// <param name="era">An integer that represents the era. Specify either <see cref="F:System.Globalization.HebrewCalendar.HebrewEra" /> or <see cref="F:System.Globalization.Calendar.CurrentEra" />.</param>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        ///   <paramref name="year" />, <paramref name="month" />, <paramref name="day" /> or <paramref name="era" /> is outside the range supported by the current <see cref="T:System.Globalization.HebrewCalendar" /> object.-or- <paramref name="hour" /> is less than 0 or greater than 23.-or- <paramref name="minute" /> is less than 0 or greater than 59.-or- <paramref name="second" /> is less than 0 or greater than 59.-or- <paramref name="millisecond" /> is less than 0 or greater than 999. </exception>
        public override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era)
        {
            this.M_CheckYMDE(year, month, day, ref era);
            base.M_CheckHMSM(hour, minute, second, millisecond);
            int month2 = this.M_CCMonth(month, year);
            int date   = CCHebrewCalendar.fixed_from_dmy(day, month2, year);

            return(CCFixed.ToDateTime(date, hour, minute, second, (double)millisecond));
        }
Ejemplo n.º 5
0
        /// <summary>Returns the day of the year in the specified <see cref="T:System.DateTime" />.</summary>
        /// <returns>An integer from 1 to 385 that represents the day of the year in the specified <see cref="T:System.DateTime" />.</returns>
        /// <param name="time">The <see cref="T:System.DateTime" /> to read. </param>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        ///   <paramref name="time" /> is earlier than September 17, 1583 in the Gregorian calendar, or greater than <see cref="P:System.Globalization.HebrewCalendar.MaxSupportedDateTime" />. </exception>
        public override int GetDayOfYear(DateTime time)
        {
            this.M_CheckDateTime(time);
            int num  = CCFixed.FromDateTime(time);
            int year = CCHebrewCalendar.year_from_fixed(num);
            int num2 = CCHebrewCalendar.fixed_from_dmy(1, 7, year);

            return(num - num2 + 1);
        }
Ejemplo n.º 6
0
        public static void my_from_fixed(out int month, out int year, int date)
        {
            year = CCHebrewCalendar.year_from_fixed(date);
            int num = (date >= CCHebrewCalendar.fixed_from_dmy(1, 1, year)) ? 1 : 7;

            month = num;
            while (date > CCHebrewCalendar.fixed_from_dmy(CCHebrewCalendar.last_day_of_month(month, year), month, year))
            {
                month++;
            }
        }
Ejemplo n.º 7
0
        public static int year_from_fixed(int date)
        {
            int num  = (int)Math.Floor((double)(date - -1373427) / 365.24682220597794);
            int num2 = num;

            while (date >= CCHebrewCalendar.fixed_from_dmy(1, 7, num2))
            {
                num2++;
            }
            return(num2 - 1);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Overridden. Creates the
        /// <see cref="T:System.DateTime"/> from the parameters.
        /// </summary>
        /// <param name="year">An integer that gives the year in the
        /// <paramref name="era"/>.
        /// </param>
        /// <param name="month">An integer that specifies the month.
        /// </param>
        /// <param name="day">An integer that specifies the day.
        /// </param>
        /// <param name="hour">An integer that specifies the hour.
        /// </param>
        /// <param name="minute">An integer that specifies the minute.
        /// </param>
        /// <param name="second">An integer that gives the second.
        /// </param>
        /// <param name="milliseconds">An integer that gives the
        /// milliseconds.
        /// </param>
        /// <param name="era">An integer that specifies the era.
        /// </param>
        /// <returns>A
        /// <see cref="T:system.DateTime"/> representig the date and time.
        /// </returns>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        /// The exception is thrown, if at least one of the parameters
        /// is out of range.
        /// </exception>
        public override DateTime ToDateTime(int year, int month, int day,
                                            int hour, int minute, int second, int milliseconds,
                                            int era)
        {
            M_CheckYMDE(year, month, day, ref era);
            M_CheckHMSM(hour, minute, second, milliseconds);
            int ccm = M_CCMonth(month, year);
            int rd  = CCHebrewCalendar.fixed_from_dmy(day, ccm, year);

            return(CCFixed.ToDateTime(rd,
                                      hour, minute, second, milliseconds));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Overridden. Adds years to a given date.
        /// </summary>
        /// <param name="time">The
        /// <see cref="T:System.DateTime"/> to which to add
        /// years.
        /// </param>
        /// <param name="years">The number of years to add.</param>
        /// <returns>A new <see cref="T:System.DateTime"/> value, that
        /// results from adding <paramref name="years"/> to the specified
        /// DateTime.</returns>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        /// The exception is thrown if the
        /// <see cref="T:System.DateTime"/> return value is not in the years
        /// between 5343 A.M. and 6000 A.M., inclusive.
        /// </exception>
        public override DateTime AddYears(DateTime time, int years)
        {
            int rd = CCFixed.FromDateTime(time);
            int day, month, year;

            CCHebrewCalendar.dmy_from_fixed(
                out day, out month, out year, rd);
            year += years;
            rd    = CCHebrewCalendar.fixed_from_dmy(day, month, year);
            DateTime t = CCFixed.ToDateTime(rd);

            t = t.Add(time.TimeOfDay);
            M_CheckDateTime(t);
            return(t);
        }
Ejemplo n.º 10
0
        /// <summary>Returns a <see cref="T:System.DateTime" /> that is the specified number of years away from the specified <see cref="T:System.DateTime" />.</summary>
        /// <returns>The <see cref="T:System.DateTime" /> that results from adding the specified number of years to the specified <see cref="T:System.DateTime" />.</returns>
        /// <param name="time">The <see cref="T:System.DateTime" /> to which to add <paramref name="years" />. </param>
        /// <param name="years">The number of years to add. </param>
        /// <exception cref="T:System.ArgumentException">The resulting <see cref="T:System.DateTime" /> is outside the supported range. </exception>
        public override DateTime AddYears(DateTime time, int years)
        {
            int date = CCFixed.FromDateTime(time);
            int day;
            int month;
            int num;

            CCHebrewCalendar.dmy_from_fixed(out day, out month, out num, date);
            num += years;
            date = CCHebrewCalendar.fixed_from_dmy(day, month, num);
            DateTime dateTime = CCFixed.ToDateTime(date).Add(time.TimeOfDay);

            this.M_CheckDateTime(dateTime);
            return(dateTime);
        }
Ejemplo n.º 11
0
 public static int date_difference(int dayA, int monthA, int yearA, int dayB, int monthB, int yearB)
 {
     return(CCHebrewCalendar.fixed_from_dmy(dayB, monthB, yearB) - CCHebrewCalendar.fixed_from_dmy(dayA, monthA, yearA));
 }
Ejemplo n.º 12
0
 public static void dmy_from_fixed(out int day, out int month, out int year, int date)
 {
     CCHebrewCalendar.my_from_fixed(out month, out year, date);
     day = date - CCHebrewCalendar.fixed_from_dmy(1, month, year) + 1;
 }
Ejemplo n.º 13
0
 public static int days_in_year(int year)
 {
     return(CCHebrewCalendar.fixed_from_dmy(1, 7, year + 1) - CCHebrewCalendar.fixed_from_dmy(1, 7, year));
 }