# SPDX-License-Identifier: MIT # Holiday file for Puerto Rico # Derived from the Python holidays project at # https://github.com/vacanza/holidays # # See important caveats in the README file in this directory. OMIT 1 January MSG New Year's Day REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed) OMIT 6 January MSG Epiphany REM Third Monday in January ADDOMIT SCANFROM -28 MSG Martin Luther King Jr. Day REM Third Monday in February ADDOMIT SCANFROM -28 MSG Presidents' Day OMIT 22 March MSG Emancipation Day REM 23 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 22)) == 0] MSG Emancipation Day (observed) OMIT [easterdate($Uy)-2] MSG Good Friday REM Last Monday in May ADDOMIT SCANFROM -28 MSG Memorial Day REM 18 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 19)) == 6] MSG Juneteenth National Independence Day (observed) OMIT 19 June MSG Juneteenth National Independence Day REM 20 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 19)) == 0] MSG Juneteenth National Independence Day (observed) REM 3 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 4)) == 6] MSG Independence Day (observed) OMIT 4 July MSG Independence Day REM 5 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 4)) == 0] MSG Independence Day (observed) OMIT 25 July MSG Constitution Day REM 26 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 25)) == 0] MSG Constitution Day (observed) REM First Monday in September ADDOMIT SCANFROM -28 MSG Labor Day REM 10 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 11)) == 6] MSG Veterans Day (observed) OMIT 11 November MSG Veterans Day REM 12 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 11)) == 0] MSG Veterans Day (observed) OMIT 19 November MSG Discovery Day REM 20 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 19)) == 0] MSG Discovery Day (observed) REM Fourth Thursday in November ADDOMIT SCANFROM -28 MSG Thanksgiving REM 24 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed) OMIT 25 December MSG Christmas Day REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed) REM 31 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed) # Optional holidays REM 14 February MSG Valentine's Day REM 17 March MSG Saint Patrick's Day REM 31 October MSG Halloween