Проверьте, прошло ли X минут с определенного времени

#php

#php

Вопрос:

У меня возникла проблема при попытке сравнить два раза, то, что я хочу сделать, это что-то вроде этого:

 $time = date("H:i:sa");
  

//мое время на моем столе выглядит так 00:20:00 это отголосок $row['time']

 if (strtotime($row['time']) 300 >= strtotime($time )) 
{
   echo "You are out";
   exit();
}
else
{
   echo "You are in";
   exit();
}
  

Я хочу проверить, больше ли TimeArrive 5 минут, чем текущее время, но я понятия не имею, что я делаю не так, код, кажется, что-то делает, но я думаю, что это не работает, по крайней мере, если я пытаюсь повторить, я не получаю правильное время, например, если я echo strtotime($TimeArrive) 300; просто выводю 300 .

Я уже проверил некоторые темы здесь, но большинство из них не работают в моем коде или просто выводят те же 300, что я получаю…


Небольшой тест:

 if (strtotime($row['TimeIn'],strtotime(" 5 minutes")) <= strtotime($t)) {
  

Все еще безуспешно пытаюсь таким образом

Комментарии:

1. Если вы не размещаете время в базе данных или не используете сеансы и постоянно проверяете при каждой загрузке страницы, вам нужно будет использовать javascript для этого.

2. @Mech одно из значений — $ TimeArrive Я получаю его из базы данных, и значения в базе данных хранятся следующим образом 00:20:00

3. Обновил вопрос с помощью моего вывода sql

4. Дважды проверьте свои часовые пояса как в PHP, так и в базе данных. Они должны быть одинаковыми, и в долгосрочной перспективе это упростит задачу, если они оба будут UTC.

5. @AlexBarker они одинаковы, я также заставляю их быть одинаковыми на странице php

Ответ №1:

Хорошо, я обнаружил проблему!

Мне пришлось преобразовать его обратно с помощью date() вот почему я получал все эти цифры…

Окончательный код будет выглядеть примерно так:

 $timechecker = date("H:i:sa",strtotime($row['TimeIn']) 60);
                        if ($timechecker <= $t) {
  

Спасибо, всем в комментариях, пытающимся мне помочь, это заставило меня обратить внимание на некоторые вещи, которые я не искал, подтверждая, каким был мой вывод: D