Во-первых, вам нужно будет сохранить все праздники в независимой таблице (Рождество, Пасха, Новый год и т. Д. С соответствующими датами (обычно в полночь));
Во-вторых, вам нужно будет сгенерировать во временную таблицу, возможно, даты рабочих дней, затем она исключит даты, содержащиеся в таблице "Праздники".
В-третьих, вы можете установить рабочее время на эти даты в зависимости от того, какой сегодня день, если у вас разные рабочие часы в другой день.
Это алгоритм для вас, чтобы найти соответствующую реализацию кода.
Дайте мне знать, если это поможет!