Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Como faço este código PHP trabalhar com intervalo de horário, mas com minutos...
<?
$hora = date("H");
if ($hora >= 18 && $hora < 1) {
header("location: [http://www.yahoo.com.br/](http://www.yahoo.com.br/)");
}else {
header("location: [http://www.google.com.br/](http://www.google.com.br/)");
}
?>
Ou seja, o que preciso é um intervalo entre:
18:15 & 00:45
No código acima, o intervalo está entre apenas "horas", sendo:
18:00 & 01:00
Obrigado!!
formata como hora e minuto, depois da um split por ':' e por ultimo faz as verificações.
Mas como?
Você pode fazer assim:
Lógica: Converter horario para Time e fazer a comparação.
<?php
$HoraAtual = strtotime( "13:30:00");
//$HoraAtual = strtotime( date('H:i:s')); //Pega o Horario atual
//Conveter para formato de time
$HoraInicio = strtotime( "12:00:00" );
$HoraTermino = strtotime( "12:30:00" );
//Conveter para formato de time
$HoraInicio1 = strtotime( "13:00:00" );
$HoraTermino1 = strtotime( "13:30:00" );
if ( ($HoraAtual >= $HoraInicio ) and ($HoraAtual <= $HoraTermino ) ){
echo "Horario Entre 12:00 e 12:30";
} echo "Horario Entre 13:00 e 13:30";
}
?>Antes de mais nada uma questão lógica, tem que como a hora ser maior que 18 E menor que 1? Acho que não...
Use DateTime sem especificar a data
$horaAtual = new DateTime();
if(
$horaAtual > (new DateTime('18:45:00'))
|| $horaAtual < (new DateTime('00:45:00')) echo 'não';
}não
Se quiser ver o código:
Antes de mais nada uma questão lógica, tem que como a hora ser maior que 18 E menor que 1? Acho que não...
Quiz dizer o seguinte:
Igual ou depois de 18:00 (também conhecida como 6:00 PM) Noite
e
Antes de 01:00 (também conhecida como 1:00 AM) Manhã
Obrigado
Você ainda tá se batendo nisso ...
Você ainda tá se batendo nisso ...
Ao que pode perceber estou tendo dúvida quanto a minutos. Por isso
Obrigado pela ajuda e preocupação! :D
Existem várias respostas que podem resolver o seu problema, inclusive, no post #6 possui a que eu acredito ser a mais aconselhada.
Além do mais, possui um link para visualizar e testar código.
Ao que me parece, como você não postou suas dúvidas quanto as sugestões, você não parou para lê-las.
>
Existem várias respostas que podem resolver o seu problema, inclusive, no post #6 possui a que eu acredito ser a mais aconselhada.
Além do mais, possui um link para visualizar e testar código.
Ao que me parece, como você não postou suas dúvidas quanto as sugestões, você não parou para lê-las.
Então,
Estou aguardando "dar o horário" para testar o código...
pelo menos até o momento está tudo ok!
Obrigado
Você pode simular os horários, assim:
$horaAtual = new DateTime('18:44:00');
if($horaAtual >= (new DateTime('18:45:00')) || $horaAtual < (new DateTime('00:45:00'))) {
echo 'sim';
} else {
echo 'não';
}
Saída:
não
$horaAtual = new DateTime('18:45:00');
if($horaAtual >= (new DateTime('18:45:00')) || $horaAtual < (new DateTime('00:45:00'))) {
echo 'sim';
} else {
echo 'não';
}
Saída:
sim
formata como hora e minuto, depois da um split por ':' e por ultimo faz as verificações.