I think it's straight forward. The date format settings are for Austria/Europe and the daylight saving dates accordingly but can be adjusted to your need.
Code: Select all
setlocale(LC_ALL, 'de_AT');
if (time()>strtotime("Last Sunday April 1")) {
if (time()>strtotime("Last Sunday November 1")) {
echo utf8_encode(strftime("%d. %B %Y",strtotime("Last Sunday April 1 ".date("Y",strtotime("Next Year")))));
} else {
echo utf8_encode(strftime("%d. %B %Y",strtotime("Last Sunday November 1")));
}
} else {
echo utf8_encode(strftime("%d. %B %Y",strtotime("Last Sunday April 1")));
}