For example the:
Solution for moving holydays in Germany: returns an array of 'Y-m-d' formated strings including good friday, easter monday, ascencion, and pentecost monday. A new DateTime object for easter ist created for each day to enhance readability.
function beweglicheFeiertage( int $year ):array
{
//Karfreitag - good friday
$return = array();
$easterDate = DateTime::createFromFormat('U', easter_date($year) );
$easterDate->modify('- 1 days');
$return[] = $easterDate->format('Y-m-d');
//Ostermontag easter monday
$easterDate = DateTime::createFromFormat('U', easter_date($year) );
$easterDate->modify('+ 2 day');
$return[] = $easterDate->format('Y-m-d');
//Himmelfahrt ascencion
$easterDate = DateTime::createFromFormat('U', easter_date($year) );
$easterDate->modify('+ 40 days');//go to Ascencionday
$return[] = $easterDate->format('Y-m-d');
//Pfingstmontag - pentecost monday
$easterDate = DateTime::createFromFormat('U', easter_date($year) );
$easterDate->modify('+ 51 days');//go to Pentecost Monday
$return[] = $easterDate->format('Y-m-d');
return $return;
}