Я знаю, что есть много таких вопросов, но я не могу заставить их относиться к моей ситуации, у меня возникают проблемы с разницей во времени.Обновление записи, если прошло час с момента отправки
Iam использованием кода воспламенитель и у меня есть БД, который имеет ряды «рабочих мест» в ней с различных областях, одна из которых submitted_time (of type TIME)
, который установлен в date('H:i:s', time())
во время вставки и другой service_response(of type TIME)
, который set manually to "02:00:00"
при вставке.
Я пытаюсь написать функцию, которая при запуске проверяет, прошел ли час с момента добавления сообщения, но у меня возникли проблемы с пониманием наилучшего способа выполнить это.
Ниже приведена моя попытка преобразовать все строки из двух полей в метку времени unix и вывести «задание», если представленное время больше, чем время + 1 час (service_response/2)
function updateJobTimes()
{
$this->load->model('job_model');
$oj = $this->job_model->getAllTodaysOpenJobs();
//var_dump($oj);
foreach($oj as $job)
{
$timesubmitted = strtotime($job->submitted_time);
$now = strtotime(date('H:i:s', time()));
//responsetime = now + 1 hour;
$responsetime = strtotime("+1 hours");
echo "Submitted_time =" . $job->submitted_time. "<br>\r\n";
echo "strtotime(Submitted_time) =". $timesubmitted. "<br>\r\n";
echo "Service_reponse =" . $job->service_response. "<br>\r\n";
echo "strtotime(Serivce_response) =" .$responsetime. "<br>\r\n";
echo "Time now =".$now. "<br>";
echo "response time(now +1hour) =". date('H:i:s', $responsetime) ."<br>";
echo "-----just a separator---------------------------------- <br>";
//this should show the last job "job#2105" which is the last iteration in the picture below
if($timesubmitted > $responsetime)
{
$difference = $res - $timesubmitted;
echo "<p class='well'>Job #".$job->reference. "</p>\r\n";
}
}
}
Но это никогда или не всегда соответствует этому состоянию.
Я искренен в недоумении и прочитал каждый вопрос, который появился в google, но они либо основаны на времени и дате, которые находятся в одном поле, либо хотят вернуть читаемую пользователем строку типа «x Минуты назад» или они используют оператор sql select, но у меня уже есть оператор, который только оттягивает задания с текущего дня (см. выше), я просто хочу перечислить эти рабочие места, если они были отправлены более часа.
Извините, если вопрос слишком длинный, слишком глупый или не содержит достаточной информации (или слишком много), я спрашиваю, потому что я потерян.
EDIT: Обновленный метод А с помощью @ChrisG и добавил картинку для отображения задачи (что последняя работа (# 2105) не должно быть)
EDIT 2: Обновленный метод снова и обновите изображение, чтобы показать, какие обе переменные проверяются.
** РЕДАКТИРОВАТЬ 3: У меня есть ощущение, что мое состояние никогда не будет выполнено, потому что поданное время никогда не будет больше, чем любое время, которое сейчас составляет +1 час с тех пор, как теперь будет изменяться ... Я чувствую себя глупо, просто пишу это, но я не могу понять, правильно ли это утверждение, я чувствую себя ближе, чем раньше, но все еще потерял. Может быть, время отклика должно быть отправлено на время + один час? **
спасибо за чтение
УАК дампы переменных
Вы пытались сбросить все временные метки, созданные из strtotime() и сравнения? – ChrisG
Привет, спасибо за чтение. Да, я обновлю их с изображением, я их не включил, потому что думал, что неправильно использую эту функцию, поэтому они были бы неактуальны. – Pheonix2105
Извините, что забыл добавить, я их бросил, но так как они такие большие числа, я не могу (читай: мне глупо) действительно проверить их. – Pheonix2105