Christiaan van Bergen
Установка даты начала на 1 февраля, установка даты окончания +1 месяц и использование функции модуля для проверки нечетных дней могут сделать трюк
$startdate=strtotime("2/1/2018");
$enddate=strtotime("+1 months", $startdate);
while ($startdate < $enddate)
{
if (date("d", $startdate)%2==1)
{
$display = date(" D d, M, Y ", $startdate);
var_dump($display);
}
$startdate = strtotime("+1 day", $startdate);
}
Это приводит к тому, что
string(19) " Thu 01, Feb, 2018 "
string(19) " Sat 03, Feb, 2018 "
string(19) " Mon 05, Feb, 2018 "
string(19) " Wed 07, Feb, 2018 "
string(19) " Fri 09, Feb, 2018 "
string(19) " Sun 11, Feb, 2018 "
string(19) " Tue 13, Feb, 2018 "
string(19) " Thu 15, Feb, 2018 "
string(19) " Sat 17, Feb, 2018 "
string(19) " Mon 19, Feb, 2018 "
string(19) " Wed 21, Feb, 2018 "
string(19) " Fri 23, Feb, 2018 "
string(19) " Sun 25, Feb, 2018 "
string(19) " Tue 27, Feb, 2018 "
Christiaan van Bergen
Конечная дата-это +1 месяц к начальной дате (что делает ее в данном случае 01 марта). Из-за этого цикл while будет работать. Первая проверка внутри цикла while-это проверка того, является ли число дня нечетным числом. Мы делаем это, вычисляя по модулю 2 (остаток от нечетного числа всегда равен "1"). Если он нечетный, мы показываем дату, как вы просили. Последнее, что мы делаем в цикле while,-это увеличиваем $startdate с +1 днем.
Вы можете прочитать о модуле здесь: http://php.net/manual/en/internals2.opcodes.mod.php