Details

    • Proposal:
      Hide

      Move EASTERSUNDAY from the Huge group to the Large group.

      Define as:

      Syntax: EASTERSUNDAY( [Number Year] )
      Description: Returns the date of Easter Sunday in the Gregorian Calendar in the year passed in as Year if given, otherwise returns the date of the next Easter Sunday on or after TODAY().  Note: The use of the Gregorian calendar was introduced in different locations at different times.

      Return: Date

      Constraints: 1582 <= Year <= 9956

      Semantics: Given a value for Year, the Easter Sunday date is calculated according to the following algorithm given an integer Year in the range from 1582 to 9956:

       

      A1 = INT(Year/100)
      A2 = Year-19*INT(Year/19)
      A3 = INT((A1-17)/25)
      A4 = MOD(A1-INT(A1/4)-INT((A1-A3)/3)+19*A2+15;30)
      A5 = A4-INT(A4/28)*(1-INT(A4/28)*INT(29/(A4+1))*INT((21-A2)/11))
      A6 = MOD(Year+INT(Year/4)+A5+2-A1+INT(A1/4);7)
      A7 = A5-A6
      month = 3+INT((A7+40)/44)
      day = A7+28-31*INT(month/4)
      

       

      The resulting date is: DATE(Year;month;day).

      If Year is not given, the above calculation is performed for the current and the next year and the smaller of the two dates is returned that is not before TODAY().

      Show
      Move EASTERSUNDAY from the Huge group to the Large group. Define as: Syntax: EASTERSUNDAY( [Number Year] ) Description: Returns the date of Easter Sunday in the Gregorian Calendar in the year passed in as Year if given, otherwise returns the date of the next Easter Sunday on or after TODAY().  Note: The use of the Gregorian calendar was introduced in different locations at different times. Return: Date Constraints: 1582 <= Year <= 9956 Semantics: Given a value for Year, the Easter Sunday date is calculated according to the following algorithm given an integer Year in the range from 1582 to 9956:   A1 = INT(Year/100) A2 = Year-19*INT(Year/19) A3 = INT((A1-17)/25) A4 = MOD(A1-INT(A1/4)-INT((A1-A3)/3)+19*A2+15;30) A5 = A4-INT(A4/28)*(1-INT(A4/28)*INT(29/(A4+1))*INT((21-A2)/11)) A6 = MOD(Year+INT(Year/4)+A5+2-A1+INT(A1/4);7) A7 = A5-A6 month = 3+INT((A7+40)/44) day = A7+28-31*INT(month/4)   The resulting date is: DATE( Year;month;day). If Year is not given, the above calculation is performed for the current and the next year and the smaller of the two dates is returned that is not before TODAY().
    • Resolution:
      Hide

      Updated as resolved on 11/Sep/23: contraint on earliest year changed from '1582' to 1583':

      6.10.8 EASTERSUNDAY

      Summary: Returns the date of Easter Sunday in the Gregorian Calendar in Year if given, otherwise returns the date of the next Easter Sunday on or after TODAY().

      Note: The use of the Gregorian calendar was introduced in different locations at different times.

      Syntax: EASTERSUNDAY( Integer Year ] )

      Returns: Date

      Constraints: 1583 ≤ Year ≤ 9956

      Semantics: Given an integer value for Year in the allowed range, the Easter Sunday date is calculated according to the following algorithm:

      A1 = INT(Year/100)
      A2 = Year-19*INT(Year/19)
      A3 = INT((A1-17)/25)
      A4 = MOD(A1-INT(A1/4)-INT((A1-A3)/3)+19*A2+15;30)
      A5 = A4-INT(A4/28)*(1-INT(A4/28)*INT(29/(A4+1))*INT((21-A2)/11))
      A6 = MOD(Year+INT(Year/4)+A5+2-A1+INT(A1/4);7)
      A7 = A5-A6
      month = 3+INT((A7+40)/44)
      day = A7+28-31*INT(month/4)
      

      The resulting date is: DATE(Year; month; day).

      If Year is not given, the above calculation is performed for the current and the next year, and the smaller of the two dates that is not less than TODAY() is returned.

      Show
      Updated as resolved on 11/Sep/23: contraint on earliest year changed from '1582' to 1583': 6.10.8 EASTERSUNDAY Summary: Returns the date of Easter Sunday in the Gregorian Calendar in Year if given, otherwise returns the date of the next Easter Sunday on or after TODAY(). Note: The use of the Gregorian calendar was introduced in different locations at different times. Syntax: EASTERSUNDAY( [  Integer Year  ] ) Returns: Date Constraints: 1583 ≤ Year ≤ 9956 Semantics: Given an integer value for Year in the allowed range, the Easter Sunday date is calculated according to the following algorithm: A1 = INT(Year/100) A2 = Year-19*INT(Year/19) A3 = INT((A1-17)/25) A4 = MOD(A1-INT(A1/4)-INT((A1-A3)/3)+19*A2+15;30) A5 = A4-INT(A4/28)*(1-INT(A4/28)*INT(29/(A4+1))*INT((21-A2)/11)) A6 = MOD(Year+INT(Year/4)+A5+2-A1+INT(A1/4);7) A7 = A5-A6 month = 3+INT((A7+40)/44) day = A7+28-31*INT(month/4) The resulting date is: DATE( Year ; month ; day ). If Year is not given, the above calculation is performed for the current and the next year, and the smaller of the two dates that is not less than TODAY() is returned.

      Description

      OpenOffice.org Calc knows the EASTERSUNDAY function, this is a proposal to include that with OpenFormula.

        Attachments

          Activity

            People

            • Assignee:
              patrick Patrick Durusau
              Reporter:
              erack Eike Rathke (Inactive)
            • Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: