date — Как получить разницу между двумя днями в переполнении стека

У меня есть функция, которая передает какой-то параметр, как

everyWeekOn("Mon",11,19,00)

Я хочу вычислить разницу между текущим днем ​​(например, «Пт»)
и передал параметр день, т.е. Mon,

Выход должен быть:

The difference between Mon and Fri is 3

Я попробовал это так

 $_dt = new DateTime();
error_log('$_dt date'. $_dt->format('d'));
error_log('$_dt year'. $_dt->format('Y'));
error_log('$_dt month'. $_dt->format('m'));

Но знай, я не знаю, что делать дальше, чтобы получить разницу между двумя днями.

Обратите внимание, что этот вопрос отличается от Как рассчитать разницу между двумя датами с помощью PHP? потому что у меня есть только один день, а не полная дата.

3

Решение

Просто реализовать DateTime класс в сочетании с ->diff метод:

function everyWeekOn($day) {
$today = new DateTime;
$next = DateTime::createFromFormat('D', $day);
$diff = $next->diff($today);
return "The difference between {$next->format('l')} and {$today->format('l')} is {$diff->days}";
}

echo everyWeekOn('Mon');
3

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

$date = new DateTime('2015-01-01 12:00:00');
$difference = $date->diff(new DateTime());
echo $difference->days.' days <br>';
1

Вы можете найти нет. дней в двух днях с помощью этого кода

<?php
$today = time();
$chkdate = strtotime("16-04-2015");
$date = $today - $chkdate;
echo floor($date/(60*60*24));
?>

Пожалуйста, используйте это, может это поможет вам

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