Итак, у меня есть магазин, который открывается в 1:00 ночи и закрывается в 22:00. В любое текущее время я просто хочу проверить, находится ли эта метка времени между временем открытия магазина и закрытия.Сравнение двух временных меток в php
Да, это очень просто, и все же я не знаю, почему, мне трудно. ниже кусок эпического дерьма я пытаюсь.
<?php
$t=time(); //for current time
$o = date("Y-m-d ",$t)."01:00:00"; //store open at this time
$c = date("Y-m-d ",$t)."22:00:00"; //store closes at this time
//Yes, its crazy .. but I love echoing variables
echo "current time = ".$t;
echo PHP_EOL;
echo "Start = ".strtotime($o);
echo PHP_EOL;
echo "End = ".strtotime($c);
echo PHP_EOL;
// below condition runs well, $t is always greater than $o
if($t>$o){
echo "Open_c1";
}else{
echo "Close_c1";
}
//Here's where my variable $t, behaves like a little terrorist and proclaims itself greater than $c
if($t<$c){
echo "Open_c2";
}else{
echo "Close_c2";
}
?>
ВЫВОД: на phpfiddle
текущее время = 1472765602 Start = 1472706000 End = 1472781600 Open_c1 Close_c2
Только одна помощь, почему ($ т < $ с) условие ложно. Я пропустил что-то очень распространенное или делаю серьезную ошибку.
спасибо.
My bad .. я забыл преобразовать $ o & $ c в строку и сравнивал дату со строкой. – Sarge