У меня есть простой вопрос о том, как рассчитать фактический день с даты начала до даты окончания .
Внутри расчет будет включать високосный год, сколько дней в месяце.
Пример:
Дата начала: 15 марта 2014 г.
Дата окончания: 11.06.2015
Результат: 453 дня
Я читал один вопрос, очень похожий на этот. Но не хочу.
Как рассчитать разницу между двумя датами с помощью PHP? < / а>
4 ответа
Лучший способ добиться этого - использовать DateTime
(и DateInterval
) объекты. Преобразуйте каждую строку даты в объект DateTime и используйте метод DateTime::diff()
для вычисления количества дней между ними:
$dt1 = new DateTime($date1);
$dt2 = new DateTime($date2);
$diff = $dt2->diff($dt1);
echo $diff->format("%a"); // => 453
Используя JQuery, вы можете получить фактические дни
var due = due_date_month + '/' + due_date_day + '/' + due_date_year;
var deliver = deliver_date_month + '/' + deliver_date_day + '/' + deliver_date_year;
var deliver_date = new Date(deliver);
var due_date = new Date(due);
if (due_date > deliver_date) {
var difference = Math.floor(due_date - deliver_date);
difference = parseInt(difference / 86400000);
alert(difference);
}
Вы можете преобразовать даты в unix-время, используя strtotime (), вычесть даты и разделить результат на 86400 (секунд в день), как это:
$start = strtotime($date1);
$end = strtotime($date2);
$diff = $end-$start;
$days = ceil($diff/86400); //or floor depends what you need
P.s .: $ start и $ end должны быть в американском формате.
DATEDIFF('ending date','Starting date');
Ex.
$q=mysql_query('select DATEDIFF('$end_date','$start_date')' AS total_days <from table name>');
$result=mysql_fetch_array($q);
echo $result['total_days'];
Похожие вопросы
Связанные вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
$daysApart = ($date1-$date2)/86400