Logica das horas [RESOLVIDO]

1. Logica das horas [RESOLVIDO]

Thiago Condé de Oliveira
condtec

(usa Debian)

Enviado em 05/10/2017 - 19:20h

Estou com dificuldade de criar um algoritmo que trabalhe nos horarios estipulados. Hora é para desligar hora para ligar de acordo com uma tabela que faz verificação todo instante. Para facilitar os cálculos as horas e minutos são concatenados ex: 12:00 -> 1200 ou 01:00 -> 100 .
10:00 liga
12:00 desliga
15:00 liga
20:00 desliga
21:00 liga
03:00 desliga
preciso fazer um algorimo que pegue a hora atual e compare com a lista e fale se esta ligado ou desligado!!
Exemplo agora é 11:00 é para esta ligado qual logica poderia usar para definir se esta desligado ou nao de acordo com a hora "atual" e a "hora de cada linha" percorrida em toda a tabela? nao sei se me entenderam qualquer sugestão sera bem vinda!



  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/10/2017 - 20:05h

condtec escreveu:

Estou com dificuldade de criar um algoritmo que trabalhe nos horarios estipulados. Hora é para desligar hora para ligar de acordo com uma tabela que faz verificação todo instante. Para facilitar os cálculos as horas e minutos são concatenados ex: 12:00 -> 1200 ou 01:00 -> 100 .
10:00 liga
12:00 desliga
15:00 liga
20:00 desliga
21:00 liga
03:00 desliga
preciso fazer um algorimo que pegue a hora atual e compare com a lista e fale se esta ligado ou desligado!!
Exemplo agora é 11:00 é para esta ligado qual logica poderia usar para definir se esta desligado ou nao de acordo com a hora "atual" e a "hora de cada linha" percorrida em toda a tabela? nao sei se me entenderam qualquer sugestão sera bem vinda!

Boa noite Condtec.
Segue sugestão:

#!/bin/bash

Hora=$(date +%H)
case $Hora in
12|20|03) STT=0; echo "$Hora Horas, DESLIGA STT= $STT" ;;
1[05]|21) STT=1; echo "$Hora Horas, LIGA STT=$STT" ;;
esac

É criada a var "STT", 0 = desligada, 1 = ligada
Fiz de acordo com as Horas citadas acima....
Para testar, faça:
#!/bin/bash
for Hora in {00..23};do
case $Hora in
12|20|03) STT=0; echo "$Hora Horas, DESLIGA STT= $STT" ;;
1[05]|21) STT=1; echo "$Hora Horas, LIGA STT=$STT" ;;
*) echo "$Hora Horas, Ação Não Definida" ;;
esac
done

Att.:
Marcelo Oliver



3. Re: Logica das horas [RESOLVIDO]

Thiago Condé de Oliveira
condtec

(usa Debian)

Enviado em 06/10/2017 - 07:20h

msoliver escreveu:


#!/bin/bash

Hora=$(date +%H)
case $Hora in
12|20|03) STT=0; echo "$Hora Horas, DESLIGA STT= $STT" ;;
1[05]|21) STT=1; echo "$Hora Horas, LIGA STT=$STT" ;;
esac

É criada a var "STT", 0 = desligada, 1 = ligada
Fiz de acordo com as Horas citadas acima....
Para testar, faça:
#!/bin/bash
for Hora in {00..23};do
case $Hora in
12|20|03) STT=0; echo "$Hora Horas, DESLIGA STT= $STT" ;;
1[05]|21) STT=1; echo "$Hora Horas, LIGA STT=$STT" ;;
*) echo "$Hora Horas, Ação Não Definida" ;;
esac
done

Att.:
Marcelo Oliver



Muito Obrigado Marcelo! Valeu!!!




4. Re: Logica das horas [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 06/10/2017 - 16:35h

condtec escreveu:

msoliver escreveu:


#!/bin/bash

Hora=$(date +%H)
case $Hora in
12|20|03) STT=0; echo "$Hora Horas, DESLIGA STT= $STT" ;;
1[05]|21) STT=1; echo "$Hora Horas, LIGA STT=$STT" ;;
esac

É criada a var "STT", 0 = desligada, 1 = ligada
Fiz de acordo com as Horas citadas acima....
Para testar, faça:
#!/bin/bash
for Hora in {00..23};do
case $Hora in
12|20|03) STT=0; echo "$Hora Horas, DESLIGA STT= $STT" ;;
1[05]|21) STT=1; echo "$Hora Horas, LIGA STT=$STT" ;;
*) echo "$Hora Horas, Ação Não Definida" ;;
esac
done

Att.:
Marcelo Oliver



Muito Obrigado Marcelo! Valeu!!!



Por "nada".
Se marcar a resposta como "A MELHOR", ficarei eternamente grato. :)

Att.:
Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts