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


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

php вычисления

Сообщений в теме: 3

#1 Dinak

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

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 02 Сентябрь 2014 - 11:25

Есть таблица "Запросы", в ней поля - "Дата запроса", "Ответ специалиста" и "Результат".

Задача: создать вычисление которое срабатывает по факту разницы между текущей датой и полем "Дата внесения" и если поле "Ответ специалиста" не заполнено.

Вот написал что знал :)

if($line['Ответ специалиста']!="" and $line['Дата запроса']>????? ) $line['Результат']="Не готов";

Как указать условие, что $line['Дата запроса'] больше текущей даты на 3 дня ? :ph34r:

Сообщение отредактировал Dinak: 02 Сентябрь 2014 - 11:26


#2 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 02 Сентябрь 2014 - 13:02

Попробуйте так:
Сначала получаем разницу между значениями тек. даты и Даты запроса:
$dif = (strtotime(date("Y-m-d H:i:s")) - strtotime($line['Дата запроса']))/86400;  //получаем разницу в днях
и далее с этим значением уже сравнивать.

Сообщение отредактировал aleks.goodcolor: 02 Сентябрь 2014 - 13:18


#3 wondertalik

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

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 02 Сентябрь 2014 - 23:52

Просмотр сообщенияaleks.goodcolor (02 Сентябрь 2014 - 13:02) писал:

Попробуйте так:
Сначала получаем разницу между значениями тек. даты и Даты запроса:
$dif = (strtotime(date("Y-m-d H:i:s")) - strtotime($line['Дата запроса']))/86400;  //получаем разницу в днях
и далее с этим значением уже сравнивать.
Ту не совсем разница в днях. Обычно лучше получать целое значение. Можно или округлить до целого значение или считать разницу между датами.

$diff = (strtotime(date("Y-m-d")) - strtotime(substr($line['Дата запроса'], 0, 10))) / 86400; //получаем разницу в днях
if($line['Ответ специалиста'] != "" && $diff > 3 && $line['Результат'] = "Не готов") {
//Что-то делаете здесь
}


#4 Dinak

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

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 03 Сентябрь 2014 - 11:27

Спасибо ))))))





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

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