Я попрошу пользователя ввести дату начала и дату окончания. Я хотел бы получить все даты от начала до конца и получить количество дней между этими датами. Как я могу это сделать в PHP с датой начала и окончания.Разница начала и окончания даты в php
ответ
Преобразование обеих дат в метки времени, а затем подсчет от одного к другому, переход к датам.
Имея дело с датами, вы можете преобразовать их в отметки времени (в секундах), как рекомендует Игнасио. Но в целом, если возможно, вам лучше работать с фактическими датами & дней на более высоком уровне.
Для этого, см класс DateTime, встроенный в PHP:
http://www.php.net/manual/en/class.datetime.php
http://www.php.net/manual/en/class.dateinterval.php
Это хорошо поддерживается в PHP 5.2, но PHP 5.3 добавляет еще лучше DateTime функциональность обработки.
Конечным результатом этого кода будет количество дней.
$ days = (strtotime (дата («Y-m-d»)) - strtotime («2010-08-20»))/(60 * 60 * 24); echo $ days;
Прочитайте мой ответ на эту тему, с примерами:
В зависимости от ввода пользователя дает, я бы, скорее всего, будет использовать что-то вроде
$dateOne = (int)(mktime(0, 0, 0, $month1, $day1, $year1)/86400); //Get the first date as a unix timestamp, then convert to days.
$dateTwo = (int)(mktime(0, 0, 0, $month2, $day2, $year2)/86400); //Get the second date as a unix timestamp, then convert to days.
// Example
//$dateOne = (int)(mktime(0,0,0,12,03,2009)/86400);
//$dateTwo = (int)(mktime(0,0,0,08,19,2011)/86400);
$daysBetween = $dateTwo-$dateOne; //Calculate days between.
echo $daysBetween.'<br />'; //Echo the days between.
for ($i=1; $i=$daysBetween; $i++) { //Loop through every day between, echo the date of that day.
echo date('Y-m-d', $dateOne*86400+($i*86400)).'<br />';
}
Приведенный выше код дайте вам все дни, включая первую и последнюю дату. Чтобы получить только те, между изменениями:
for ($i=1; $i=$daysBetween; $i++) { //Loop through every day between, echo the date of that day.
к:
for ($i=2; $i<=$daysBetween; $i++) { //Loop through every day between, echo the date of that day.
Проверили, работает хорошо.
ПРИМЕЧАНИЕ: первая дата ДОЛЖНА быть до последней даты.
Приветствия Charlie
- 1. Дата начала и окончания даты начала работы
- 2. Ошибка проверки даты начала и окончания даты
- 3. Дата наступления даты начала и окончания даты
- 4. Cron для даты начала и окончания даты
- 5. Проверка даты начала и окончания в CodeIgniter даты начала меньше даты окончания
- 6. Получить даты с датой начала и окончания даты окончания дня
- 7. Resampling с даты начала и окончания столбцов
- 8. Извлечение даты начала и окончания в группах
- 9. Дата начала и окончания даты в jQuery
- 10. Разбиение даты начала и окончания по интервалу в PHP
- 11. Проверка даты начала и окончания HTML5
- 12. Поиск начала недели и даты окончания недели
- 13. Проверить ограничение для даты начала и окончания
- 14. Агрегирование списка дат начала и окончания даты
- 15. glyphicon-календарь даты начала и окончания
- 16. Дата начала и окончания даты Angularjs
- 17. Рекурсивный CTE - консолидировать даты начала и окончания
- 18. Сравните даты начала и окончания нескольких строк
- 19. ASP.NET MVC: Проверка даты начала и окончания
- 20. Подтверждение даты начала и окончания MVC
- 21. Получения даты окончания с даты начала
- 22. PHP - Получить начала и дата окончания текущей даты интервала
- 23. mysql php grouping дата начала и окончания даты
- 24. получить дату окончания с даты начала и окончания
- 25. Начало Окончания на основе даты начала и окончания - T-SQL
- 26. Получение даты начала и окончания объекта PHP DatePeriod?
- 27. Использование даты начала и окончания даты в запросе доступа
- 28. Как определить, совпадают ли дата начала и окончания с датой начала и окончания даты в JavaScript?
- 29. PHP Weeknumber, дата начала и дата окончания
- 30. Дата начала и время начала менее даты окончания и окончания времени
http://stackoverflow.com/questions/676824/how-to-calculate-the-date-difference-between-2-dates-using-php – ArK 2010-12-03 07:47:35