Intereting Posts
Проверить правильность имени столбца SQL PHP – соединение MySQL не работает: 2002 Нет такого файла или каталога Как получить длину самой длинной последовательности с одинаковыми символами в строке? PHP: создание изображения из таблицы html php explode: разделите строку на слова, используя пробел разделитель Загрузите браузер Amazon AWS S3 на PHP (версия подписки AWS 4) 400 Ошибка: redirect_uri_mismatch для загрузки видео yotube Переменные сеанса устанавливаются только после обновления страницы. Запуск команды ремесленников навсегда с кузницей laravel? Определение наличия файла в Laravel 5 использовать переменную php в имени таблицы создания mysql PHP: Дата синтаксиса из локализованного формата скрыть расширение .php в url mod_rewrite 403 с сообщением: доступ не настроен. Используйте Google Developers Console для активации API для своего проекта. Когда мне следует возвращать true / false AJAX, и когда я должен эхо «true» / «false»,

Добавьте «х» количество часов на сегодняшний день

В настоящее время php получает текущее время / дату:

$now = date("Ymd H:m:s"); 

То, что нужно делать, это иметь новую переменную $new_time равную $now + $hours . $hours – количество часов в диапазоне от 24-800.

Какие-либо предложения?

Вы можете использовать что-то вроде функции strtotime() чтобы добавить что-то в текущую strtotime() метку. $new_time = date("Ymd H:i:s", strtotime('+5 hours')) .

Если вам нужны переменные в функции, вы должны использовать двойные кавычки, например strtotime("+{$hours} hours") , однако лучше использовать strtotime(sprintf("+%d hours", $hours)) .

Другое решение (объектно-ориентированное) – использовать DateTime :: add

Пример:

 $now = new DateTime(); //current date/time $now->add(new DateInterval("PT{$hours}H")); $new_time = $now->format('Ymd H:i:s'); 

Документация PHP .

Вы можете использовать strtotime () для достижения этой цели:

 $new_time = date("Ymd H:i:s", strtotime('+3 hours', $now)); // $now + 3 hours 

Верный

Вы можете использовать strtotime () для достижения этой цели:

 $new_time = date("Ymd H:i:s", strtotime('+3 hours', strtotime($now))); // $now + 3 hours 

Ум … ваши минуты должны быть исправлены … «Я» на несколько минут. Не месяцы. 🙂 (У меня была такая же проблема и для чего-то.

 $now = date("Ymd H:i:s"); $new_time = date("Ymd H:i:s", strtotime('+3 hours', $now)); // $now + 3 hours 

Вы также можете использовать время стиля unix для расчета:

 $newtime = time() + ($hours * 60 * 60); // hours; 60 mins; 60secs echo 'Now: '. date('Ym-d') ."\n"; echo 'Next Week: '. date('Ym-d', $newtime) ."\n"; 

Вы можете попробовать lib Ouzo лакомства и сделать это бегло:

 echo Clock::now()->plusHours($hours)->format("Ymd H:m:s"); 

API позволяет выполнять несколько операций.

Я использую следующую функцию, чтобы преобразовать нормальное значение даты в формат mysql datetime.

 private function ampmtosql($ampmdate) { if($ampmdate == '') return ''; $ampm = substr(trim(($ampmdate)), -2); $datetimesql = substr(trim(($ampmdate)), 0, -3); if ($ampm == 'pm') { $hours = substr(trim($datetimesql), -5, 2); if($hours != '12') $datetimesql = date('Ymd H:i',strtotime('+12 hour',strtotime($datetimesql))); } elseif ($ampm == 'am') { $hours = substr(trim($datetimesql), -5, 2); if($hours == '12') $datetimesql = date('Ymd H:i',strtotime('-12 hour',strtotime($datetimesql))); } return $datetimesql; } 

Он преобразует значения даты и времени, например,

 2015-06-04 09:55 AM -> 2015-06-04 09:55 2015-06-04 03:55 PM -> 2015-06-04 15:55 2015-06-04 12:30 AM -> 2015-06-04 00:55 

Надеюсь, это поможет кому-то.