У меня есть функция, которая передает какой-то параметр, как
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? потому что у меня есть только один день, а не полная дата.
Просто реализовать 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');
$date = new DateTime('2015-01-01 12:00:00');
$difference = $date->diff(new DateTime());
echo $difference->days.' days <br>';
Вы можете найти нет. дней в двух днях с помощью этого кода
<?php
$today = time();
$chkdate = strtotime("16-04-2015");
$date = $today - $chkdate;
echo floor($date/(60*60*24));
?>
Пожалуйста, используйте это, может это поможет вам