una tabella del tipo
giorno_dell_anno | anno | festivo
in questo modo fai una semplice select con 4 condizioni ...
festivo = 0, anno quello che ti interessa e i giorni dell'anno compresi nell'intervallo delle due date
se invece la data ti sborda, nel senso che inizia in un anno e finisce in un altro fai una cosa del tipo
(giorno_dell_anno >= giorno_anno_partenza && anno = anno_partenza) || (giorno_dell_anno <= giorno_anno_arrivo && anno = anno_arrivo)

Rispondi quotando