Как получить следующую дату по дню недели и времени

Я хочу получить следующую дату урока по дню недели и времени. Например, все занятия проводятся во вторник и субботу в 22:45.
Поэтому я хочу отобразить дату следующего занятия, которое будет проводиться с текущего дня / времени.

Без времени я могу получить. Но что, если сегодня вторник, 4 часа дня, а класс — вторник, 10:45 вечера, тогда он должен показывать мне сегодняшнюю дату, а не субботу, поскольку следующий урок после сегодняшнего дня — суббота.

Я пробовал тестовый код со временем, но он не работает.

$nextTuesday = strtotime('next tuesday 10:59PM');
echo date('Y-m-d', $nextTuesday);

Если я даю время, оно не работает.

Со временем должна отображаться текущая дата, если день совпадает, а время не прошло.

1

Решение

Хорошо, я использовал свою логику и решил ее.

    date_default_timezone_set("ET");
$currentday=date('Y-m-d H:i:s');
$currentdayW=date("l", strtotime($currentday));



if (($currentdayW=="Tuesday") ||($currentdayW=="Friday"))
{
$chktime = date('Y-m-d 21:00:00');
if ($chktime > $currentday) { $drawdate =  $chktime;}

}

if ((($currentdayW=="Tuesday") && ($chktime < $currentday)) ||
($currentdayW=="Wednesday") || ($currentdayW=="Thursday"))
{
$drawdate = strtotime('next friday');
$drawdate=date('Y-m-d 21:00:00', $drawdate);
}
if ((($currentdayW=="Friday") && ($chktime < $currentday)) ||
($currentdayW=="Saturday") || ($currentdayW=="Sunday") ||
($currentdayW=="Monday"))
{
$drawdate = strtotime('next tuesday');
$drawdate=date('Y-m-d 21:00:00', $drawdate);

}

echo $drawdate;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]