#date #range
#Дата #диапазон
Вопрос:
Я пытаюсь суммировать coloumn в своей базе данных, и он должен начинаться со вторника по понедельник каждую неделю. т.е. Текущая неделя моих вычислений должна быть с 4 по 10 октября, и она предназначена для сброса каждые вторники.
Я создал этот код
<?php
$refdate = strtotime(date('o-WW'));
$tuesday = strtotime(" 1 day",$refdate);
echo date("M j, Y", $tuesday) . "<br>";
?>
Для
<?php
$refdate = strtotime(date('o-WW'));
$monday = strtotime("next monday",$refdate);
echo date("M j, Y", $monday) . "<br>";
?>
Но сегодня, вместо того, чтобы получать с 4 по 10 октября, я получаю с 11 по 17 октября. Пожалуйста, кто-нибудь, помогите мне. Я в замешательстве.
Ответ №1:
функция даты возвращает текущую неделю, которая начинается с понедельника (10-го), и вы добавляете единицу к дате, что делает ее 11-й. Следующий понедельник просто 17-й.
<?php
//default get last tuesday
$startdate = "last tuesday";
if (date('N') === '2')
{
// its Tuesday today
$startdate = "today";
}
$start_week = strtotime($startdate);
$end_week = strtotime("next monday",$start_week);
$start = date("M j, Y",$start_week);
$end = date("M j, Y",$end_week);
echo $start ."<br>";
echo $end."<br>";
?>