Для php вам
Александр Аксентьев написал
а в базе второе воскресенье получить можно вот так (на примере MySQL)
-- если задавать год вручную
-- SET @thisYear = '2019';
-- SET @thisYearDecemberBegin = CONCAT(@thisYear, '-12-01');
-- декабрь этого года
SET @thisYearDecemberBegin = CONCAT(YEAR(NOW()), '-12-01');
SELECT DATE_ADD(@thisYearDecemberBegin
, INTERVAL
( ( 8 - DAYOFWEEK(@thisYearDecemberBegin) ) % 7 ) + 7
DAY
) AS second_sunday_of_month;
можно это все в хранимку завернуть.
Вот тут хорошие
примеры для разных СУБД.
С последним днем похожая история - DAYOFWEEK() LAST_DAY() и немножко арифметики.