Intereting Posts

PHP, сравнивающий отметки времени UNIX

У меня проблема с двумя временными метками unix в php.

$time_now = mktime(); if($auction->time_end > $time_now){ //true } else{ //false } 

$ auction-> time_end равно 1362579127 и устанавливается как int from db. $ time_now, например, 1364129253 и устанавливается как int, оба проверяли с помощью var_dump и действительно возвращались как int.

Проблема в том, что PHP, похоже, думает, что 1362579127 больше, чем 1364129253 (возвращает false), которого нет. Я что-то упустил? Если я ввожу значения в оператор if, он работает так, как должен, но когда он сравнивает объект, ему это, похоже, не нравится.

Глядя на ваш вопрос, кажется, что у вас логика неправильная. Текущее время всегда больше времени, чем в прошлом. Попробуйте следующее:

 if($time_now>$auction->time_end){ //... } 

Максимальное значение типа int составляет около 2 миллиардов, если вы используете 32-битную систему. Оба ваших номера кажутся слишком большими. См. Документацию .