Перейти к содержимому


Вычисление разницы между двух дат

вычисление даты разница

В теме одно сообщение

#1 kamillot

    Новичок

  • Пользователи
  • Pip
  • 1 сообщений

Отправлено 17 Июль 2013 - 13:49

Нужно вычислить разницу в днях (часах, минутах, секундах) между двух дат. Написан следующий код:

$vyezd = date("Y-m-d 00:00:00", strtotime($line ['Дата выезда']));
$zaezd = date("Y-m-d 00:00:00", strtotime($line ['Дата заезда']));

$diff = $vyezd - $zaezd;

$line['Срок пребывания'] = $diff/86400;


Формат поля "Срок пребывания" делал и текстовым и числовым. Результат один - не работает.
Представитель службы поддержки предложил такой код:

$vyezd = strtotime($line ['Дата выезда']); // преобразуем первую дату в число секунд
$zaezd = strtotime($line ['Дата заезда']); // преобразуем вторую дату в число секунд
$diff = $vyezd - $zaezd; // считаем разницу в секундах
$line['Срок пребывания'] = $diff/86400; // вычисляем разницу в днях

Результат тот же :( Помогите, кто может! :)

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 19 Июль 2013 - 11:44

Тему только сейчас увидел, ответ Вами уже видимо получен через ТП. Тем не менее напишу для остальных:

Ошибка была в пробеле между $line и ['Дата выезда']. В этом случае вычисление работает некорректно.

В первом же случае было лишнее двойное преобразование из даты в число и обратно.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных