FlatPickr - Получить воскресенье между диапазонами дат для календаря (включительно) - PullRequest
2 голосов
/ 03 апреля 2020

Я использую flatPickr (плагин календаря) для выполнения sh этого. Я посылаю minDate и maxDate, которые всегда являются воскресеньями, на JavaScript из функции PHP:

$("#weeklySelector").flatpickr(
{
    inline: true,
    enableTime: false,
    dateFormat: "Y-m-d",
    minDate: "<?php echo getSecondSunday($oldestDay[0], $newestDay[0]); ?>",
    maxDate: "<?php echo getLastSunday($newestDay[0], getSecondSunday($oldestDay[0], $newestDay[0])); ?>",
    defaultDate: "<?php echo getLastSunday($newestDay[0], getSecondSunday($oldestDay[0], $newestDay[0])); ?>",
    enable: [
        function(date) {
            // Enable only the Sundays between the minDate and maxDate
            // Include the minDate & maxDate because they both always will be Sundays

        }
    ],
    onChange: function(selectedDates, dateStr, instance) {
        weeklyDate = dateStr;
    },
});

В псевдокоде logi c выглядит примерно так :

// minDate = "2020-04-05";
// maxDate = "2020-04-26";
    enable: [
        function(date) {
            minDate, while(minDate+7 <= maxDate);
            // Output: "2020-04-05", "2020-04-12", "2020-04-19", "2020-04-26"
        }
    ],

Ссылка на документы: https://flatpickr.js.org/examples/#disabling -all-даты-кроме-выберите-несколько

1 Ответ

1 голос
/ 03 апреля 2020

Вам необходимо использовать метод даты .getDay(), который возвращает день недели ( 0 - воскресенье ).

    enable:[ 
        function(date) {
            return date.getDay() === 0; // 0 is sunday
        }
    ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...