Как я смогу вернуть логическое выражение true, если прошло ровно 24 часа и не более?
Я использую strtotime(), чтобы выставить эти два раза:
strtotime()
$time1 = 1316268919; $time2 = 1316268898;
Это должно сделать то, что вам нужно:
if (($time1-$time2) == 86400) { // Exactly 24 hours have passed. }
abs($time1 - $time2) === 60 * 60 * 24
абс на всякий случай;time2 может быть больше, чем time1.
Если разница во времени равна 60 (секунды в минуту) * 60 * (минуты в час) * 24 (часы в течение дня) = 86400, разница в днях
strtotime() возвращает количество секунд с начала эпохи Unix.Поэтому, чтобы найти разницу во времени, просто вычтите одно из другого.Затем сравните эту разницу с количеством секунд в 24 часах (24 * 60 * 60).
24 ч = 86400 с, поэтому, когда разность двух равна 86400, это в точности 24 ч
n.b. два раза в год может вызвать проблемы с DST, если применимо.