Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Danilo Ramon

Horário Comercial - PHP

Recommended Posts

Não está funcionando esse esqueminha de horário comercial, será que está errado:

        $dateTime = date('H:i:s');

        if($dateTime < "17:00:00" AND $dateTime > "17:30:00"){ 

            return Response::json([
                'title'     =>  'Horário de Atendimento',
                'errors'    =>  ['Infelizmente este percurso está fora de horário de atendimento.'],           
                'success'   =>  false
                ], 401);

        }  

Podem me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim não vai funcionar mesmo rs, os operadores < e > só funcionam pra inteiros e float, com o ":" não vai rolar, quem dera ser tão fácil comparar datas... pra isso você precisa usar a classe nativa DateTime do PHP. Dê uma pesquisada na internet que tem bastante conteúdo e vai suprir sua necessidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim não vai funcionar mesmo rs, os operadores < e > só funcionam pra inteiros e float, com o ":" não vai rolar, quem dera ser tão fácil comparar datas... pra isso você precisa usar a classe nativa DateTime do PHP. Dê uma pesquisada na internet que tem bastante conteúdo e vai suprir sua necessidade.

Totalmente errado.

O problema em tela é de lógica, como $dateTime pode ser AO MESMO TEMPO (AND) menor que 17:00:00 e maior 17:30:00, essas duas situações são excludentes entre si, por isso, por óbvio nunca retornará como verdadeiro.

Se ele deseja verificar se a hora está ENTRE esses dois horários basta ele inverter os sinais:

$dateTime = '17:12:45';


if($dateTime > "17:00:00" AND $dateTime < "17:30:00"){ 
    echo 'aqui!';
}else{
    echo 'fora';
} 

Da mesma forma, se ele quer um horário que esteja FORA, basta alterar o AND para OR (mantendo os sinais originais):

$dateTime = '17:30:01';


if($dateTime < "17:00:00" OR $dateTime > "17:30:00"){ 
    echo 'aqui!';
}else{
    echo 'fora';
} 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.