strtotime()
возвращает отметку времени в секундах. Вычитание двух временных меток дает вам разницу между этими двумя временными метками в секундах.
Так что, если strtotime($row3['MissionTime'])
- это отметка времени, которая в будущем будет через 1,5 часа, и вы вычтете из нее strtotime("now")
, вы получите разницу 5400
секунд (60 секунд * 60 минут * 1,5 часа).
strtotime('-2 hours')
дает вам метку времени для 2 часов назад, которая в настоящее время составляет около 1,5 миллиарда. Это не очень полезно для вашей ситуации.
Вот два способа изменить ваш код:
$cT = strtotime($row3['MissionTime']) - strtotime("now");
if($cT <= 7200) {
echo $row3['MissionTime']."<br>";
}
Если разница между $row['MissionTime']
и now
меньше 7200
секунд (60 секунд * 60 минут * два часа), $row3['MissionTime']
либо в прошлом, либо в течение следующих двух часов.
В качестве альтернативы:
if(strtotime($row3['MissionTime']) <= strtotime('+2 hours')) {
echo $row3['MissionTime']."<br>";
}
В основном то же самое, но, возможно, более читабельно, если вы не планируете использовать $cT
для чего-либо еще. Это просто проверяет, является ли $row3['MissionTime']
более ранним, чем когда-либо в +2 hours
.