Ajustar horário de código

4 participantes

Ir para baixo

Tópico resolvido Ajustar horário de código

Mensagem por .Danni. 20.03.16 4:12

Detalhes da questão


Endereço do fórum: http://www.castelobruxorpg.com/
Versão do fórum: Invision

Descrição


Boa noite,

Coloquei no meu fórum um código que altera a aparência do topo de acordo com o horário, sendo sol até as 17:59 e lua das 18:00 até às 23:59.

Contudo eu gostaria que a lua ficasse aparente até às 5:59, mas não sei como alterar o código para tal. Pelo que eu entendi ele reseta para o dia seguinte à meia-noite, por isso o sol aparece, ou talvez ele de fato considere que o dia dura da 0 hora até às 17:59.

Código:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
  <script>
    var app = angular.module('cw', []);

app.controller('MyTimeCtrl', function($scope){
    var h = new Date().getHours();
    if (h <= 18) {
      $scope.time="day";
    } else {
      $scope.time="night";
    }
  
});
  </script>
<div ng-app="cw">
  <div ng-controller="MyTimeCtrl" class="weather" ng-class="time">
        <span class="winfo"><ul><li style="color: #FB69E1;">Primavera</li>
        <li>28°C</li>
        <li>Brisa Leeve</li>
        <li style="color: #37EC2E;">20/Set/15 à 22/Nov/15</li></ul></span>
  </div>
</div>


Última edição por .Danni. em 04.04.16 22:05, editado 1 vez(es)
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por Shek 20.03.16 14:30

Bom dia!

No caso, o que define quando o Sol vai nascer ou se por, é isso h <= 18. Seria, em outros termos, se 18 for menor ou igual ao getHours, então, é de noite. Se não, é de dia. Tudo varia de acordo com a hora do PC.

Acho que, isso pode resolver:
Código:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
  <script>
    var app = angular.module('cw', []);

app.controller('MyTimeCtrl', function(jQueryscope){
    var h = new Date().getHours();
    if (h <= 18) {
      jQueryscope.time="day";
    } else if (h <= 06) {
     jQueryscope.time="day";
   }
   else {
      jQueryscope.time="night";
    }
 
});
  </script>
<div ng-app="cw">
  <div ng-controller="MyTimeCtrl" class="weather" ng-class="time">
        <span class="winfo"><ul><li style="color: #FB69E1;">Primavera</li>
        <li>28°C</li>
        <li>Brisa Leeve</li>
        <li style="color: #37EC2E;">20/Set/15 à 22/Nov/15</li></ul></span>
  </div>
</div>
Por favor, poderia me enviar uma imagem de como fica no seu fórum?

Até mais.
Shek
Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 19006
Pontos : 22969

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por .Danni. 20.03.16 18:00

É assim que fica o script atualmente

Dia - 0:00 às 17:59
Ajustar horário de código E5B6cWW

Noite - 18:00 às 23:59
Ajustar horário de código Gnp9IuT

A alteração não funcionou, acabou removendo o efeito principal, que é a mudança na cor do topo e o ícone de sol/lua.
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por .Danni. 23.03.16 18:17

Aguardando.
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por MateusAnjosV 24.03.16 20:04

Olá e boa tarde!

Experimente o seguinte código:
Código:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
  <script>
    var app = angular.module('cw', []);

app.controller('MyTimeCtrl', function($scope){
    var h = new Date().getHours();
    if (h <= 18 && h >= 6) {
      $scope.time="day";
    } else {
      $scope.time="night";
    }
 
});
  </script>
<div ng-app="cw">
  <div ng-controller="MyTimeCtrl" class="weather" ng-class="time">
        <span class="winfo"><ul><li style="color: #FB69E1;">Primavera</li>
        <li>28°C</li>
        <li>Brisa Leeve</li>
        <li style="color: #37EC2E;">20/Set/15 à 22/Nov/15</li></ul></span>
  </div>
</div>

MateusAnjosV
MateusAnjosV
Super Membro

Membro desde : 16/10/2015
Mensagens : 1718
Pontos : 2373

http://holder.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por .Danni. 24.03.16 20:09

Esse último fez com que ficasse tudo no horário da noite Mostrando a lingua

Testei alterando o horário do meu relógio e atualizando a página.
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por MateusAnjosV 24.03.16 23:44

Olá e boa noite.

Que coisa, não? Muito feliz
Creio que o problema é eu não ter conseguido entender a sua questão, sendo assim, vou explicar-te como alterar:
Código:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
  <script>
    var app = angular.module('cw', []);

app.controller('MyTimeCtrl', function($scope){
    var h = new Date().getHours();
    if (h <= 18) {
      $scope.time="day";
    } else {
      $scope.time="night";
    }
  
});
  </script>
<div ng-app="cw">
  <div ng-controller="MyTimeCtrl" class="weather" ng-class="time">
        <span class="winfo"><ul><li style="color: #FB69E1;">Primavera</li>
        <li>28°C</li>
        <li>Brisa Leeve</li>
        <li style="color: #37EC2E;">20/Set/15 à 22/Nov/15</li></ul></span>
  </div>
</div>

H = hora atual
<= = menor ou igual a
   if (h <= 18) {
Se for de 00 á 18, será dia e, se for maior que 18, será noite.

Você pode simplesmente alterar esse valor, ou criar quantas ifs quiser, exemplo:
Código:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
  <script>
    var app = angular.module('cw', []);

app.controller('MyTimeCtrl', function($scope){
    var h = new Date().getHours();
    if (h <= 18) {
      $scope.time="day";
    } if else(h <= 6) {
$scope.time="night"; //AQUI VOCÊ DECLARA O QUE QUISER, NESSE CASO, SERÁ NOITE!
}
else {
      $scope.time="night";
    }
  
});
  </script>
<div ng-app="cw">
  <div ng-controller="MyTimeCtrl" class="weather" ng-class="time">
        <span class="winfo"><ul><li style="color: #FB69E1;">Primavera</li>
        <li>28°C</li>
        <li>Brisa Leeve</li>
        <li style="color: #37EC2E;">20/Set/15 à 22/Nov/15</li></ul></span>
  </div>
</div>

Entendeu? Muito feliz Caso não, me explique melhor?

Até.
MateusAnjosV
MateusAnjosV
Super Membro

Membro desde : 16/10/2015
Mensagens : 1718
Pontos : 2373

http://holder.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por .Danni. 25.03.16 1:24

O problema com esse código é que ele some com o efeito. Por algum motivo que eu não sei :/ do mesmo modo que o do Shek Mostrando a lingua
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por MateusAnjosV 25.03.16 12:01

Hã... não entendi. Vou por outra explicação - segundo o que eu entendi e, caso não seja, por gentileza explique tudo do início? Eu amo você

O efeito some pois, você deve declara-lo logo após o if:
Código:
{
      $scope.time="day";
    }
Código:
{
      $scope.time="night";
    }
Day = Dia
Night = Noite

O if a senhorita já conhece. Muito feliz
MateusAnjosV
MateusAnjosV
Super Membro

Membro desde : 16/10/2015
Mensagens : 1718
Pontos : 2373

http://holder.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por .Danni. 25.03.16 18:14

Mas no caso, no código anterior, isso já não tá declarado? Nessa parte:

Código:
if (h <= 18) {
      $scope.time="day";
    } if else(h <= 6) {
$scope.time="night"; //AQUI VOCÊ DECLARA O QUE QUISER, NESSE CASO, SERÁ NOITE!
}
else {
      $scope.time="night";
    }

Já tá falando, "se menor que 18 horas, dia" depois "outro, se menor que 6, noite" e por último "outro, noite".

O que eu entendi disso: o código tá dizendo que é pra ativar o dia das 6:01 até às 17:59. Das 18:00 até às 5:59 ativa a noite. Mas ainda sim, o código não responde, o efeito (de dia ou noite) não aparece. Nenhum dos dois na verdade.

Como eu postei antes, era para aparecer um fundo + ícone de dia e outro fundo + ícone a noite, meu problema é, que ao dar 0 hora o código considera dia, ainda que, tecnicamente, seja noite. Eu só queria que o código considerasse que o horário das 18 até às 6 do dia seguinte fosse noite.

Vale lembrar que eu não sou programadora, encontrei o código na internet e adaptei pra minha necessidade. Mostrando a lingua

Se for preciso eu forneço a conta de fundador para visualização do template.
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por .Danni. 28.03.16 5:02

Ainda aguardando ajuda
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por .Danni. 02.04.16 6:52

Up
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por Cepheus 02.04.16 19:12

É simples veja:

Código:
h >= 06 && h < 18)
Se a Hora atual "h" for maior ">" ou "=" a 06 e "&&" A hora atual "h" for menor "<" que 18 então será dia.
Outros horários retornaram como noite.

Abaixo está o código modificado:

Código:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
  <script>
    var app = angular.module('cw', []);

app.controller('MyTimeCtrl', function($scope){
    var h = new Date().getHours();
    if (h >= 06 && h < 18) {
      $scope.time="day";
    } else {
      $scope.time="night";
    }
  
});
  </script>
<div ng-app="cw">
  <div ng-controller="MyTimeCtrl" class="weather" ng-class="time">
        <span class="winfo"><ul><li style="color: #FB69E1;">Primavera</li>
        <li>28°C</li>
        <li>Brisa Leeve</li>
        <li style="color: #37EC2E;">20/Set/15 à 22/Nov/15</li></ul></span>
  </div>
</div>
Cepheus
Cepheus
Membro

Membro desde : 21/03/2014
Mensagens : 514
Pontos : 1085

http://www.bestskins.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por .Danni. 03.04.16 1:56

Boa noite,

Então, o código pode até estar certo, mas a função que ele deveria realizar (que é a de alterar o fundo) não pega com essas mudanças.

Antes não aparecia nada, nesse último até apareceu, mas ficou com a aparência noturna independente da hora do dia.
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por Cepheus 03.04.16 2:49

Você colocou o código corretamente no template?
Fiz um teste rápido aqui para ver o código em funcionamento, 
Veja: http://detest.forumeiros.com/
Alterei o horário do Sistema Operacional tanto de dia como de noite está funcionando normalmente.
Só uma ressalva é que você precisa atualizar a pagina algumas vezes devido a mudança repentina de horário "o navegador pode não interpretar da primeira atualização devido ao cache está armazenado". 

Peço que deixe o código que passei no seu template para que eu posso observa-lo.
Cepheus
Cepheus
Membro

Membro desde : 21/03/2014
Mensagens : 514
Pontos : 1085

http://www.bestskins.net/

Ir para o topo Ir para baixo

Tópico resolvido Re: Ajustar horário de código

Mensagem por .Danni. 03.04.16 14:34

Deixei o código, aparentemente agora funcionou, obrigada Feliz
.Danni.
.Danni.
Super Membro

Membro desde : 13/01/2010
Mensagens : 1880
Pontos : 2623

https://coletivomistico.forumbrasil.net/

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos