Я использую strtotime в течение периода времени, чтобы автоматически обновлять записи в базе данных.
Он добавляет количество дней в зависимости от того, что пользователь указал на предыдущей странице.
Используя этот код:
$calendardate = strtotime ( '+'.$calendarday.' day' , strtotime ( $date ) ) ; $calendardate = date ( 'Ymd' , $calendardate );
Как я могу заставить его пропустить выходные? Мне нужно использовать ту же переменную ($ calendardate), но мне нужно, чтобы она игнорировала субботу и воскресенье.
Любая помощь очень ценится 🙂
$now = date("Ymd H:i:s"); $h = date("H:i:s"); $two_weekdays_later = strtotime(date("Ymd H:i:s", strtotime($now)) . " +2 weekdays $h");
В конце концов я поселился на итерации изо дня в день, проверяя, есть ли что-то в субботу или воскресенье. В противном случае это слишком сложно для учета на конец года и т. Д. (Если у меня есть и другие требования, например, пропуски на другие дни, а не только выходные дни, но, скорее всего, вы в один прекрасный день получите одни и те же требования – например, пропущенные праздники и т. Д.).
Использовать функцию даты
if ((date("w", $calendardate) = 0) || (date("w", $calendardate) = 6)) { echo "weekend"; }
Воскресенье = 0, суббота = 6
Если вы используете date("N", $calendardate)
, тогда числа будут работать для 1 = «понедельник» через 7 = «воскресенье»,
http://php.net/manual/en/function.date.php
Обратите внимание, что $calendardate
должен быть отметкой unix в соответствии со спецификацией в ссылке.