Как получить разницу между двумя днями в php
У меня есть функция, которая передает некоторый параметр, подобный
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
3 answers
Просто реализуйте класс 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
Author: Ghost, 2015-04-17 06:31:55
$date = new DateTime('2015-01-01 12:00:00');
$difference = $date->diff(new DateTime());
echo $difference->days.' days <br>';
1
Author: Maxim Lazarev, 2015-04-17 06:25:16
Вы можете найти количество дней за два дня, используя этот код
<?php
$today = time();
$chkdate = strtotime("16-04-2015");
$date = $today - $chkdate;
echo floor($date/(60*60*24));
?>
Пожалуйста, используйте это, может быть, это поможет вам
0
Author: Sourabh, 2015-04-17 07:05:09