Хранение дат особого типа

jenia

Новичок
Хранение дат особого типа

Делаю календарь событий, дат, праздников. Есть праздники, которые празднуются не определённого числа каждый год, а например День учителя - первое воскресенье октября. Как мне такое сохранить в БД, чтобы потом, зная текущую дату вывести праздники, которые на неё приходятся?

P.S. Я вообще-то думаю, что хранить такие даты у меня не получится. Скорее всего, придется написать скриптик, который забьёт мне в базу все праздники с датами в традиционном виде (год-месяц-число) на десять лет вперёд. Если я не прав, то поправьте.
 

Фанат

oncle terrible
Команда форума
зачем такие праздники вообще в базу забивать?
 

jenia

Новичок
Хм... Как зачем? Ну, хочется иметь полную базу праздников. По настоящему таких праздников довольно таки много, просто о них мало кто знает.
 

Фанат

oncle terrible
Команда форума
ну, база - это не обязательно таблица.
Это интерфейс.
Который праздники может вычислять.
 

jenia

Новичок
Хорошо, а какие есть варианты хранения кроме как в одной таблице? В общих чертах можешь обрисовать этот интерфейс?
 

Фанат

oncle terrible
Команда форума
ну, таблица, только не с датами, а с набором правил для вычисления праздника
 

jenia

Новичок
В принципе у меня была мысль сделать что-то типа такого. Допустим первое воскресенье октября можно записать как "1|7|10" (1 - первое, 7 - воскресенье, 10 - октябрь). А перед запросом к базе преобразовывать к тому же формату текущую дату и поиск вести как по датам традиционного вида так и по датам в представленном выше формате. Ты это имел ввиду?
 

Фанат

oncle terrible
Команда форума
ага.
только ведь первео воскресенье - это не единственный формат. етсь ведь еще церковные праздники.
 

jenia

Новичок
В моём случае церковные праздники не нужны. Этот календарь дат для медицинского портала. Если и будут праздники с неопределённой датой, то, я думаю, для них подойдёт и приведённый выше формат.
 
Сверху