Сравнение временных меток в PHP - PullRequest
0 голосов
/ 17 сентября 2011

Как я смогу вернуть логическое выражение true, если прошло ровно 24 часа и не более?

Я использую strtotime(), чтобы выставить эти два раза:

$time1 = 1316268919;
$time2 = 1316268898;

Ответы [ 4 ]

1 голос
/ 17 сентября 2011

Это должно сделать то, что вам нужно:

if (($time1-$time2) == 86400) {
    // Exactly 24 hours have passed.
}
0 голосов
/ 17 сентября 2011
abs($time1 - $time2) === 60 * 60 * 24

абс на всякий случай;time2 может быть больше, чем time1.

Если разница во времени равна 60 (секунды в минуту) * 60 * (минуты в час) * 24 (часы в течение дня) = 86400, разница в днях

0 голосов
/ 17 сентября 2011

strtotime() возвращает количество секунд с начала эпохи Unix.Поэтому, чтобы найти разницу во времени, просто вычтите одно из другого.Затем сравните эту разницу с количеством секунд в 24 часах (24 * 60 * 60).

0 голосов
/ 17 сентября 2011

24 ч = 86400 с, поэтому, когда разность двух равна 86400, это в точности 24 ч

n.b. два раза в год может вызвать проблемы с DST, если применимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...