Узнать число плавающей даты (праздника) | JavaScript

Первая суббота февраля: "День выпускников"

<input type="button" value="когда «День одноклассников»" onclick="odn()">

<script>
  function odn() {
    var myDate = new Date();
    myDate.setHours(0, 0, 0, 0); // начало текущего дня
    myDate.setMonth(1); // февраль текущего года
    myDate.setDate(1); // 1 число февраля текущего года
    while(myDate.getDay() != 6) { // если не суббота, то прибавить один день
      myDate.setDate(myDate.getDate() + 1);
    }
    alert(myDate);
  }
</script>

Сначала дату переводим на 1 февраля, а потом ищем первый день, который выпадает на субботу.

Последнее воскресенье июля: "День ВМФ"

<input type="button" value="когда «День ВМФ»" onclick="vmf()">

<script>
  function vmf() {
    var myDate = new Date();
    myDate.setHours(0, 0, 0, 0); // начало текущего дня
    myDate.setMonth(6); // июль текущего года
    myDate.setDate(1); // 1 число июля текущего года
    while(myDate.getDay() != 0) { // если не воскресенье, то прибавить один день
      myDate.setDate(myDate.getDate() + 1);
    }
    myDate.setDate(myDate.getDate() + 21); // прибавить 3 недели
    alert(myDate);
  }
</script>
в f t
наверх ↑

Комментариев нет: