интервалы — php найти стек времени

Мне нужно найти If $ сейчас (00:00:00), если включены от $ a и $ b

echo $a= date('H:i:s', strtotime("23:00:00"));

echo $now = date('H:i:s', time("now");*(es.00:00:00)*

echo $b=date('H:i:s', strtotime("01:00:00"));

if ($now>$a && $now<$b) {echo "si";} else {echo "no";}

выход скажем: нет

__________________РЕДАКТИРОВАТЬ____________________________

Хорошо, спасибо всем, я думаю, дать вам больше информации:

Я читаю с помощью php файл .xml, из этого файла я получаю некоторую информацию о программе на телевидении, используя:

-название программы, -имя канала, -и время запуска программы в этом формате (20151210004500 +0100)

Мне кажется на данный момент проще использовать этот формат или нет?

Я бы нашел в массиве из .xml программу в эфире, для этого я должен сравнить дату и время в этом формате, это возможно?

Вы можете мне помочь?

Извините за мой плохой английский, спасибо.

0

Решение

Применять strtotime перед сравнением

if(strtotime($now) > strtotime($a) && strtotime($now) < strtotime($b)
{
// do your staff
}
1

Другие решения

$now = new DateTime;
$a = (new DateTime)->setTime(23, 0, 0);

if ($now > $a && $now < $a->modify('+2 hours')) {
echo 'si';
} else {
echo 'no';
}
0

Вы можете легко сделать с помощью функция времени () получить текущее время в числовом формате (в секундах с 1970-1-1).

Чем вы можете конвертировать ваши даты в тот же формат времени с функция strtotime ().

$now = time();
$a = strtotime("10 september 2010");
$b = strtotime("10 september 2020");

if( $now > $a && $now < $b )
echo "Yes";
else
echo "No";
0
По вопросам рекламы [email protected]