Календарь праздников на следующий год

stopkran

Дилетант
В моей CMS-ке есть данные для календаря праздников на все 12 месяцев. Ну, не вообще всех праздников в мире, а так, основных: Новый год, день Труда, день Смеха... Данные хранятся приблизительно так: 2012-01-01 => 'Новый год'. Как поступить 1 января 2013 года: заменить все '2012' на '2013'?

Но тогда возникает проблема праздников, которые празднуют, например, "в последнее воскресенье августа". Кто-нибудь сталкивался с такой проблемой? Я, конечно, её для себя решил, но решение выглядит как-то грустно, неуклюже. Это так и должно быть?

И другой вопрос. Переводить даты один раз в год кажется недостаточным. Например, пользователь захотел в декабре посмотреть праздники на январь или даже февраль. Значит, в календаре всегда должны быть даты на два-три месяца вперёд и назад. То есть даты лучше переводить, например, каждые два месяца. Ну, может и реже. Но по какому событию?

Заходить (администратору) в админку с определённой периодичностью и запускать скрипт передвижения дат? Или уже вообще оставить поле "Дата" пустым, а хранить месяц и день (или алгоритм типа "последнее воскресенье") и вычислять дату каждый раз для периода, который выбрал пользователь?..
 

stopkran

Дилетант
Гм... Тогда возникает следующий вопрос. Данные Календаря бывают нужны в двух местах, и второе из этих мест - javascript, используемый при выборе даты, например, в полях формы. Так что, вычислять даты отдельно на php и отдельно на javascript?
 

Semen

Семён
Вычисляешь на сервере и передаёшь на клиент, а там используешь как тебе надо.
Опиши реальную задачу, а то не понятно в чём у тебя трудности...
 

stopkran

Дилетант
Эх, Semen, да разве ж это трудности?... (нам ли жить в печали?) Были бы трудности, я бы не на форуме флудил, а мозгами скрипел.

Если javascript генерировать каждый раз на php, не будет кэшироваться. А календарь праздников РФ - не та информация, которая каждый день обновляется.
 
Сверху