Intereting Posts
Замена для файла :: mime () в Laravel 4 (для получения типа mime из расширения файла) В PHP, когда я использую fwrite, я не получаю правильный набор символов Переменные mysqli bind Динамический ряд строк php while loop Пытаетесь подключиться к сайту ASPX с помощью CURL? Как написать значения массива в файл csv в PHP? PHP, как я могу проверить, является ли файл mp3 или файлом изображения? PDO подготовил инструкции для хранения содержимого html audio.duration возвращает Infinity на Safari, когда mp3 поддерживается с PHP проблема для получения изображения в php с загрузкой скрипта ANDROID Сценарий загрузчика файлов не работает должным образом Как изменить второй раскрывающийся список на основе раскрывающегося списка? Проблема обратного вызова жизненного цикла при расширении пользовательского объекта FOSUserBundle Селен не показывает неудачные номера строк Codeigniter: расширение пользовательской библиотеки из основной папки в классе libary

PHP проверяет, превышает ли отметка времени более 24 часов

У меня есть программное обеспечение, которое должно определить, является ли время отключения данных более чем 24 часа. Вот код, который я должен проверить.

$date = strtotime("2013-07-13") + strtotime("05:30:00"); if($date > time() + 86400) { echo 'yes'; } else { echo 'no'; } 

Моя текущая дата и время – 2013-07-13 2 утра. Как вы можете видеть его всего в 3 часах езды. По моей математике, что на 10800 секунд. Функция, которую я имею, возвращает yes . Для меня это означает, что $date больше, чем сейчас, плюс 86400 секунд, когда на самом деле это всего лишь 10800 секунд. Должно ли это не возвращаться?

 $date = strtotime("2013-07-13") + strtotime("05:30:00"); 

должно быть

 $date = strtotime("2013-07-13 05:30:00"); 

См. Разницу в этой CodePad

 <?php date_default_timezone_set('Asia/Kolkata'); $date = "2014-10-06"; $time = "17:37:00"; $timestamp = strtotime($date . ' ' . $time); //1373673600 // getting current date $cDate = strtotime(date('Ymd H:i:s')); // Getting the value of old date + 24 hours $oldDate = $timestamp + 86400; // 86400 seconds in 24 hrs if($oldDate > $cDate) { echo 'yes'; } else { echo 'no'; //outputs no } ?> 

Сохраняйте значения даты и времени в отдельных переменных и преобразуйте их в strtotime() метку Unix, используя strtotime() после конкатенации переменных.

Код:

 <?php $date = "2013-07-13"; $time = "05:30:00"; $timestamp = strtotime($date." ".$time); //1373673600 if($timestamp > time() + 86400) { echo 'yes'; } else { echo 'no'; //outputs no } ?>