, прося о функции Date в php Я хочу, чтобы диапазон дат в неделю (понедельник-суббота), чтобы дата соответствовала сегодняшней дате в раскрывающемся списке. Скажем сегодня 16 августа, диапазон начнется в 15 августа - 20 августа, 22 августа - 27, 29 августа - 3 сентября и так далее.Дата окончания, равная сегодняшней дате
Я использую этот синтаксис
<?php
for ($i = 0; $i < 8; $i++) {
echo '<option value="'.date("Ymd", strtotime("$i weeks monday")).'">'.date("d F", strtotime("$i weeks monday"))." - ".date("d F", strtotime("$i weeks saturday")).'</option>';
}
}
?>
Он отлично работает только в понедельник, но на следующий день, когда я открываю в Интернете, это показывает, на следующей неделе в понедельник для всех вариант. Похоже, что когда понедельник прошло, этот понедельник вышел из списка на этой неделе, а в следующий понедельник - в эти недели в понедельник. Это ошибка с strtotime или есть лучший синтаксис strtotime для использования? Если возможно, я хочу избежать использования, если проверять дату, но если нет, то есть ли какой-либо простой синтаксис для использования в strtotime?
Что такое P1w/P8W означает Interval? Никогда не используйте DateTimeImmutable() до –
'P1W ~ означает« Период 1 Неделя ». Оттуда вы можете догадаться, что означает «P8W». :) 'DateTimeImmutable()' точно так же, как 'DateTime()', но всегда возвращает новый объект вместо изменения исходного. В зависимости от того, что вы делаете, не имеет значения, какой из них вы используете. –
Я пробовал, и это работает, спасибо человеку. надеюсь, что это не сломано, если день изменится. Когда я использую strtotime («Понедельник на этой неделе»), результат, как я описываю ранее. Но когда в вашем коде он работает, даже строка точно такая же? Вы знаете об этом? –