я создал следующий код (который работает), чтобы напечатать что-то другое на основе недель определенного месяца:Javascript: найти начало предрождественских недель каждый год
<script language="javascript">
<!--
var advent;
mytime=new Date();
mymonth=mytime.getMonth()+1;
mydate=mytime.getDate();
if (mymonth==12 && (mydate >= 1 && mydate <= 6)){document.write("xxx");
}
if (mymonth==12 && (mydate >= 7 && mydate <= 13)){document.write("yyy");
}
if (mymonth==12 && (mydate >= 14 && mydate <= 20)){document.write("zzz");
}
if (mymonth==12 && (mydate >= 21 && mydate <= 30)){document.write("qqq");
}
//-->
</script>
Но мне это нужно изменить для Адвента каждый год и изменения Адвент основаны на том, когда Рождество падает каждый год:
Адвент начинается в воскресенье за четыре недели до Рождества. Есть четыре воскресенья в Адвенте, затем Рождество. Дата меняется с года на год, в зависимости от того, в какой день недели выпадает Рождество. Так, в 2010, Адвент начался 28 ноября. В 2011 году это произойдет на 27 Ноябрь.
Как рассчитать, когда недели Адвента начинаются каждый год?
Получить Рождество в форме «Дата». Затем откидывайтесь назад с этого дня, вычитая 1 день из него и проверяя день недели. Как только вы достигнете 4 воскресенья, вот и все. – Ian
[_Calendrical Calculations_] (http://www.amazon.com/Calendrical-Calculations-Millennium-Edward-Reingold/dp/0521777526) имеет дело с множеством таких вещей, но у меня нет моей копии, Я не знаю, включает ли он алгоритм специально для римского пришествия. –