Ir para conteúdo

Arquivado

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

Gustavo Pizzo

Javascript com condicional para mostrar texto em um certo horário

Recommended Posts

Boa tarde, tenho um site para um canal de televisão e nele tenho um espaço reservado para aparecer o programa que está no ar.
Fiz um código com javascript usando switch/case para os dias da semana e if/else para os horários (fiz um teste sem switch/case, somente com if/else, mas também tive problema).
Estou tendo um problema com o programa que vai ao ar da 00:00 as 06:00 da madrugada, ele aparece no horário das 12:00 as 18:00 da tarde
Coloquei um "document.write" para imprimir a hora que a variável está guardando e aparentemente guarda a hora exata, porém no código aparece esse programa.

<script language="JavaScript">
setTimeout(function(){
   window.location.reload(1);
}, 60000);

function addZero(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

var d = new Date();
var diasemana = d.getDay();
var h = addZero(d.getHours());
var m = addZero(d.getMinutes());
var s = addZero(d.getSeconds());
var hms = (h+":"+m+":"+s);




switch (diasemana) {
                //Domingo
                case 0:
				if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=07+":"+00+":"+00) && (hms <=09+":"+59+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=10+":"+00+":"+00) && (hms <=10+":"+59+":"+59 )){
			   document.write("Papo de Cozinha");
				}
				else if ((hms >=11+":"+00+":"+00) && (hms <=11+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=11+":"+30+":"+00) && (hms <=11+":"+59+":"+59 )){
			   document.write("Antares nos Esportes");
				}
				else if ((hms >=12+":"+00+":"+00) && (hms <=13+":"+29+":"+59 )){
			   document.write("A Voz do Povo");
				}
				else if ((hms >=13+":"+30+":"+00) && (hms <=14+":"+29+":"+59 )){
			   document.write("Tarde Mais");
				}
				else if ((hms >=12+":"+30+":"+00) && (hms <=16+":"+29+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=16+":"+30+":"+00) && (hms <=17+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=17+":"+30+":"+00) && (hms <=18+":"+29+":"+59 )){
			   document.write("Mistérios da Fé");
				}
				else if ((hms >=18+":"+30+":"+00) && (hms <=19+":"+29+":"+59 )){
			   document.write("Tv Cultura");		
				}
				else if ((hms >=19+":"+30+":"+00) && (hms <=19+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=20+":"+00+":"+00) && (hms <=21+":"+09+":"+59 )){
			   document.write("Missa Santo Antônio");
				}
				else if ((hms >=21+":"+10+":"+00) && (hms <=22+":"+29+":"+59 )){
			   document.write("100% Comercial");
				}
				else if ((hms >=22+":"+30+":"+00) && (hms <=23+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				break;
				
	        //Segunda
                case 1:
				if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=06+":"+00+":"+00) && (hms <=06+":"+59+":"+59 )){
			   document.write("Reprise Engenharia na Tv");
				}
				else if ((hms >=07+":"+00+":"+00) && (hms <=09+":"+59+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=10+":"+00+":"+00) && (hms <=10+":"+59+":"+59 )){
			   document.write("Papo de Cozinha");
				}
				else if ((hms >=11+":"+00+":"+00) && (hms <=11+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=11+":"+30+":"+00) && (hms <=11+":"+59+":"+59 )){
			   document.write("Antares nos Esportes");
				}
				else if ((hms >=12+":"+00+":"+00) && (hms <=13+":"+29+":"+59 )){
			   document.write("A Voz do Povo");
				}
				else if ((hms >=13+":"+30+":"+00) && (hms <=14+":"+29+":"+59 )){
			   document.write("Tarde Mais");
				}
				else if ((hms >=12+":"+30+":"+00) && (hms <=16+":"+29+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=16+":"+30+":"+00) && (hms <=17+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=17+":"+30+":"+00) && (hms <=18+":"+29+":"+59 )){
			   document.write("Mistérios da Fé");
				}
				else if ((hms >=18+":"+30+":"+00) && (hms <=19+":"+29+":"+59 )){
			   document.write("Tv Cultura");
				}
				else if ((hms >=19+":"+30+":"+00) && (hms <=19+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=20+":"+00+":"+00) && (hms <=21+":"+09+":"+59 )){
			   document.write("Missa Santo Antônio");
				}
				else if ((hms >=21+":"+10+":"+00) && (hms <=22+":"+29+":"+59 )){
			   document.write("100% Comercial");
				}
				else if ((hms >=22+":"+30+":"+00) && (hms <=23+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				break;
				
	        //Terça		
                case 2:
				if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=06+":"+00+":"+00) && (hms <=07+":"+09+":"+59 )){
			   document.write("Reprise Missa Santo Antônio");
				}
				else if ((hms >=07+":"+10+":"+00) && (hms <=09+":"+59+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=10+":"+00+":"+00) && (hms <=10+":"+59+":"+59 )){
			   document.write("Papo de Cozinha");
				}
				else if ((hms >=11+":"+00+":"+00) && (hms <=11+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=11+":"+30+":"+00) && (hms <=11+":"+59+":"+59 )){
			   document.write("Antares nos Esportes");
				}
				else if ((hms >=12+":"+00+":"+00) && (hms <=13+":"+29+":"+59 )){
			   document.write("A Voz do Povo");
				}
				else if ((hms >=13+":"+30+":"+00) && (hms <=14+":"+29+":"+59 )){
			   document.write("Tarde Mais");
				}
				else if ((hms >=12+":"+30+":"+00) && (hms <=16+":"+29+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=16+":"+30+":"+00) && (hms <=17+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=17+":"+30+":"+00) && (hms <=18+":"+29+":"+59 )){
			   document.write("Mistérios da Fé");
				}
				else if ((hms >=18+":"+30+":"+00) && (hms <=19+":"+29+":"+59 )){
			   document.write("Tv Cultura");
				}
				else if ((hms >=19+":"+30+":"+00) && (hms <=19+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=20+":"+00+":"+00) && (hms <=22+":"+29+":"+59 )){
			   document.write("Sessão da Câmara");
				}
				else if ((hms >=22+":"+30+":"+00) && (hms <=23+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
	                        break;

	        //Quarta			
                case 3:
				if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=06+":"+00+":"+00) && (hms <=06+":"+29+":"+59 )){
			   document.write("Reprise Força Operária");
				}
				else if ((hms >=06+":"+30+":"+00) && (hms <=09+":"+59+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=10+":"+00+":"+00) && (hms <=10+":"+59+":"+59 )){
			   document.write("Papo de Cozinha");
				}
				else if ((hms >=11+":"+00+":"+00) && (hms <=11+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=11+":"+30+":"+00) && (hms <=11+":"+59+":"+59 )){
			   document.write("Antares nos Esportes");
				}
				else if ((hms >=12+":"+00+":"+00) && (hms <=13+":"+29+":"+59 )){
			   document.write("A Voz do Povo");
				}
				else if ((hms >=13+":"+30+":"+00) && (hms <=14+":"+29+":"+59 )){
			   document.write("Tarde Mais");
				}
				else if ((hms >=12+":"+30+":"+00) && (hms <=16+":"+29+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=16+":"+30+":"+00) && (hms <=17+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=17+":"+30+":"+00) && (hms <=18+":"+29+":"+59 )){
			   document.write("Mistérios da Fé");
				}
				else if ((hms >=18+":"+30+":"+00) && (hms <=19+":"+29+":"+59 )){
			   document.write("Tv Cultura");
				}
				else if ((hms >=19+":"+30+":"+00) && (hms <=19+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=20+":"+00+":"+00) && (hms <=20+":"+59+":"+59 )){
			   document.write("Engenharia na Tv");
				}
				else if ((hms >=21+":"+00+":"+00) && (hms <=21+":"+59+":"+59 )){
			   document.write("Papo de Cozinha");
				}
				else if ((hms >=22+":"+00+":"+00) && (hms <=23+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
		                break;

		//Quinta		
		case 4:
				if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
			   	else if ((hms >=06+":"+00+":"+00) && (hms <=07+":"+09+":"+59 )){
			   document.write("Reprise 100% Comercial");
				}
				else if ((hms >=07+":"+10+":"+00) && (hms <=09+":"+59+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=10+":"+00+":"+00) && (hms <=10+":"+59+":"+59 )){
			   document.write("Papo de Cozinha");
				}
				else if ((hms >=11+":"+00+":"+00) && (hms <=11+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=11+":"+30+":"+00) && (hms <=11+":"+59+":"+59 )){
			   document.write("Antares nos Esportes");
				}
				else if ((hms >=12+":"+00+":"+00) && (hms <=13+":"+29+":"+59 )){
			   document.write("A Voz do Povo");
				}
				else if ((hms >=13+":"+30+":"+00) && (hms <=14+":"+29+":"+59 )){
			   document.write("Tarde Mais");
				}
				else if ((hms >=12+":"+30+":"+00) && (hms <=16+":"+29+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=16+":"+30+":"+00) && (hms <=17+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=17+":"+30+":"+00) && (hms <=18+":"+29+":"+59 )){
			   document.write("Mistérios da Fé");
				}
				else if ((hms >=18+":"+30+":"+00) && (hms <=19+":"+29+":"+59 )){
			   document.write("Tv Cultura");
				}
				else if ((hms >=19+":"+30+":"+00) && (hms <=19+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=20+":"+00+":"+00) && (hms <=20+":"+29+":"+59 )){
			   document.write("Reprise Força Operária");
				}
				else if ((hms >=20+":"+30+":"+00) && (hms <=20+":"+39+":"+59 )){
			   document.write("Horário Político");
				}
				else if ((hms >=20+":"+40+":"+00) && (hms <=22+":"+29+":"+59 )){
			   document.write("Os Amigos da Viola");
				}
				else if ((hms >=22+":"+30+":"+00) && (hms <=23+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
		                break;

		//Sexta	   				
		case 5: 
				if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=06+":"+00+":"+00) && (hms <=07+":"+29+":"+59 )){
			   document.write("Reprise Classe A");
				}
				else if ((hms >=07+":"+30+":"+00) && (hms <=09+":"+59+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=10+":"+00+":"+00) && (hms <=10+":"+59+":"+59 )){
			   document.write("Papo de Cozinha");
				}
				else if ((hms >=11+":"+00+":"+00) && (hms <=11+":"+14+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=11+":"+15+":"+00) && (hms <=11+":"+29+":"+59 )){
			   document.write("Toxinha");
				}
				else if ((hms >=11+":"+30+":"+00) && (hms <=11+":"+59+":"+59 )){
			   document.write("Antares nos Esportes");
				}
				else if ((hms >=12+":"+00+":"+00) && (hms <=13+":"+29+":"+59 )){
			   document.write("A Voz do Povo");
				}
				else if ((hms >=13+":"+30+":"+00) && (hms <=14+":"+29+":"+59 )){
			   document.write("Tarde Mais");
				}
				else if ((hms >=14+":"+30+":"+00) && (hms <=16+":"+29+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=16+":"+30+":"+00) && (hms <=17+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=17+":"+30+":"+00) && (hms <=18+":"+29+":"+59 )){
			   document.write("Mistérios da Fé");
				}
				else if ((hms >=18+":"+30+":"+00) && (hms <=19+":"+29+":"+59 )){
			   document.write("Tv Cultura");
				}
				else if ((hms >=19+":"+30+":"+00) && (hms <=19+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=20+":"+00+":"+00) && (hms <=20+":"+44+":"+59 )){
			   document.write("Ensinando o Caminho");
				}
				else if ((hms >=20+":"+45+":"+00) && (hms <=22+":"+14+":"+59 )){
			   document.write("Encontro de Violeiros");
				}
				else if ((hms >=22+":"+15+":"+00) && (hms <=23+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
                                break;

		//Sabado		
		case 6:
				if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
                                else  if ((hms >=06+":"+00+":"+00) && (hms <=06+":"+59+":"+59 )){
			   document.write("Reprise Engenharia na Tv");
				}
				else if ((hms >=07+":"+10+":"+00) && (hms <=09+":"+29+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=09+":"+30+":"+00) && (hms <=09+":"+59+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=10+":"+00+":"+00) && (hms <=10+":"+59+":"+59 )){
			   document.write("Papo de Cozinha");
				}
				else if ((hms >=11+":"+00+":"+00) && (hms <=11+":"+14+":"+59 )){
			   document.write("Maringa Alerta");
				}
				else if ((hms >=11+":"+15+":"+00) && (hms <=11+":"+59+":"+59 )){
			   document.write("Maringa Alerta");
				}
				else if ((hms >=12+":"+00+":"+00) && (hms <=12+":"+59+":"+59 )){
			   document.write("A Voz do Povo");
				}
				else if ((hms >=13+":"+00+":"+00) && (hms <=13+":"+59+":"+59 )){
			   document.write("A Voz do Povo");
				}
				else if ((hms >=14+":"+00+":"+00) && (hms <=14+":"+59+":"+59 )){
			   document.write("Tarde Mais");
				}
				else if ((hms >=15+":"+00+":"+00) && (hms <=16+":"+29+":"+59 )){
			   document.write("Antares Kids");
				}
				else if ((hms >=16+":"+30+":"+00) && (hms <=17+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=17+":"+30+":"+00) && (hms <=18+":"+29+":"+59 )){
			   document.write("Mistérios da Fé");
				}
				else if ((hms >=18+":"+30+":"+00) && (hms <=19+":"+29+":"+59 )){
			   document.write("A Voz do Povo");
				}
				else if ((hms >=19+":"+30+":"+00) && (hms <=19+":"+59+":"+59 )){
			   document.write("Antares nos Esportes");
				}
				else if ((hms >=20+":"+00+":"+00) && (hms <=21+":"+09+":"+59 )){
			   document.write("Missa Santo Antônio");
				}
				else if ((hms >=21+":"+10+":"+00) && (hms <=22+":"+29+":"+59 )){
			   document.write("Ensinando o Caminho");
				}	   
				else if ((hms >=22+":"+30+":"+00) && (hms <=23+":"+29+":"+59 )){
			   document.write("Encontro com Deus");
				}
				else if ((hms >=23+":"+30+":"+00) && (hms <=23+":"+59+":"+59 )){
			   document.write("Antares nos Esportes");
				}
			        break;
}
</script>

Alguém pode me dar uma luz ? já tentei tudo que conheço e consegui achar na internet, mas não consegui resolver isso ainda.

Obrigado pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque a ordem do primeiro if:

 

Não percebo muito de JS, mas acho que o erro está na maneira como fez o if!

 

[uPDATE]

O erro está neste primeiro if! Pois são 23:52:57 o que se enquadra no primeiro if! Pois você apenas valida as horas, não valida os minutos e segundos!

 

 

//Quarta            
                    case 3:
                    if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
                   document.write("Encontro com Deus de noite");
                    }

 

Porque você com este código "00+":"+00+":"+00" está a criar isto: 00:00:00 mas o if só apanha o primeiro número, por você depois mistura números e inteiros.

Exprimente isto: if ((hms >=00+":"+59+":"+59) && (hms <=05+":"+59+":"+59 )){

Com as horas em 23:57:55, ele continua a ser validado. Mas se trocar o 00 para 30 já vai deixar de ser executado ;)

//Quarta            
                    case 3:
                    if ((hms >=22+":"+00+":"+00) && (hms <=23+":"+59+":"+59 )){
                   document.write("teste");
                    }
                    else if ((hms >=06+":"+00+":"+00) && (hms <=06+":"+29+":"+59 )){
                   document.write("Reprise Força Operária");
                    }
                    else if ((hms >=06+":"+30+":"+00) && (hms <=09+":"+59+":"+59 )){
                   document.write("Antares Kids");
                    }
                    else if ((hms >=10+":"+00+":"+00) && (hms <=10+":"+59+":"+59 )){
                   document.write("Papo de Cozinha");
                    }
                    else if ((hms >=11+":"+00+":"+00) && (hms <=11+":"+29+":"+59 )){
                   document.write("Encontro com Deus");
                    }
                    else if ((hms >=11+":"+30+":"+00) && (hms <=11+":"+59+":"+59 )){
                   document.write("Antares nos Esportes");
                    }
                    else if ((hms >=12+":"+00+":"+00) && (hms <=13+":"+29+":"+59 )){
                   document.write("A Voz do Povo");
                    }
                    else if ((hms >=13+":"+30+":"+00) && (hms <=14+":"+29+":"+59 )){
                   document.write("Tarde Mais");
                    }
                    else if ((hms >=12+":"+30+":"+00) && (hms <=16+":"+29+":"+59 )){
                   document.write("Antares Kids");
                    }
                    else if ((hms >=16+":"+30+":"+00) && (hms <=17+":"+29+":"+59 )){
                   document.write("Encontro com Deus");
                    }
                    else if ((hms >=17+":"+30+":"+00) && (hms <=18+":"+29+":"+59 )){
                   document.write("Mistérios da Fé");
                    }
                    else if ((hms >=18+":"+30+":"+00) && (hms <=19+":"+29+":"+59 )){
                   document.write("Tv Cultura");
                    }
                    else if ((hms >=19+":"+30+":"+00) && (hms <=19+":"+59+":"+59 )){
                   document.write("Encontro com Deus");
                    }
                    else if ((hms >=20+":"+00+":"+00) && (hms <=20+":"+59+":"+59 )){
                   document.write("Engenharia na Tv");
                    }
                    else if ((hms >=21+":"+00+":"+00) && (hms <=21+":"+59+":"+59 )){
                   document.write("Papo de Cozinha");
                    }
                    else if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
                   document.write("Encontro com Deus");
                    }
                            break;
  

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continua a mesma coisa, agora (13:17) está aparecendo "Encontro com deusAVoz do povo", pode ver que ele mostra o "Encontro com Deus" que é o if:

if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
  document.write("Encontro com Deus");
}

e o "A Voz do Povo" que é o if:

else if ((hms >=12+":"+00+":"+00) && (hms <=13+":"+29+":"+59 )){
  document.write("A Voz do Povo");
}

Parece que o código confunde 00:00:00 as 06:00:00 com 12:00:00 as 18:00:00

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, tirei o:

if ((hms >=00+":"+00+":"+00) && (hms <=05+":"+59+":"+59 )){
  document.write("Encontro com Deus");
}

e coloquei no fim de cada case:

else {
  document.write("Encontro com Deus");
}

Como todos os outros horários estão preenchidos, somente da 00:00 as 06:00 está vago, então o else irá preencher ele e resolver meu problema

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.