Intereting Posts

PHP Проверьте, не текущее время до указанного времени

Мне нужно проверить PHP, если текущее время до 2 вечера в этот день.

Я делал это с strtotime по датам раньше, но на этот раз это только с временем, поэтому, очевидно, 0.00 каждый день будет сброшено, а логическое значение будет сброшено с false на true .

 if (current_time < 2pm) { // do this } 

 if (date('H') < 14) { $pre2pm = true; } 

Для получения дополнительной информации о функции даты см. Руководство по PHP . Я использовал следующий формат времени:

H = 24-часовой формат часа (от 00 до 23)

Пытаться:

 if(date("Hi") < "1400") { } 

См .: http://php.net/manual/en/function.date.php

 H 24-hour format of an hour with leading zeros 00 through 23 i Minutes with leading zeros 00 to 59 

Вы могли бы просто пройти время

 if (time() < strtotime('2 pm')) { //not yet 2 pm } 

Или пропустите в дате явно

 if (time() < strtotime('2 pm ' . date('dm-Y'))) { //not yet 2 pm } 

Используйте 24-часовое время, чтобы решить проблему следующим образом:

 $time = 1400; $current_time = (int) date('Hi'); if($current_time < $time) { // do stuff } 

Таким образом, 2PM приравнивается к 14:00 в течение 24 часов. Если мы удалим двоеточие с момента времени, тогда мы можем оценить его как целое в нашем сравнении.

Для получения дополнительной информации о функции даты см. Руководство по PHP . Я использовал следующие форматы времени:

H = 24-часовой формат часа (от 00 до 23)

i = минуты с ведущими нулями (от 00 до 59)

Вы не сказали нам, какая версия PHP вы используете, хотя, предполагая, что это PHP 5.2.2+, чем вы должны это сделать:

 $now = new DateTime(); $twoPm = new DateTime(); $twoPm->setTime(14,0); // 2:00 PM 

то просто спросите:

 if ( $now < $twoPm ){ // such comparison exists in PHP >= 5.2.2 // do this } 

в противном случае , если вы используете одну из более старых версий (скажем, 5.0), это должно сделать трюк (и намного проще):

 $now = time(); $twoPm = mktime(14); // first argument is HOUR if ( $now < $twoPm ){ // do this } 

Попробуйте

 if( time() < mktime(14, 0, 0, date("n"), date("j"), date("Y")) ) { // do this } 

Эта функция проверяет, находится ли между часами в EST, приняв 2 параметра, массивы с часами и am / pm …

  /** * Check if between hours array(12,'pm'), array(2,'pm') */ function is_between_hours($h1 = array(), $h2 = array()) { date_default_timezone_set('US/Eastern'); $est_hour = date('H'); $h1 = ($h1[1] == 'am') ? $h1[0] : $h1[0]+12; $h1 = ($h1 === 24) ? 12 : $h1; $h2 = ($h2[1] == 'am') ? $h2[0] : $h2[0]+12; $h2 = ($h2 === 24) ? 12 : $h2; if ( $est_hour >= $h1 && $est_hour <= ($h2-1) ) return true; return false; } 

Используйте функции time() , date() и strtotime() :

 if(time() > strtotime(date('Ym-d').' 14:00') { //... } 

Если вы хотите проверить, будет ли время до 14:30, вы можете попробовать следующий сегмент кода.

 if (date('H') < 14.30) { $pre2pm = true; }else{ $pre2pm = false; }