 XMLWordPrintable

#### Details

• Type: New Feature
• Status: Applied
• Priority: Minor
• Resolution: Fixed
• Affects Version/s: None
• Fix Version/s:
• Component/s:
• Labels:
None
• 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.

#### People

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

#### Dates

• Created:
Updated:
Resolved: