Jump to content
TeixeiraRamos

Data em relação a hora

Recommended Posts

Olá,

Por favor favor, em um script tenho:

<?php 
		$sql = "SELECT pensamento_do_dia FROM tbpdodia WHERE data_inicio = CURRENT_DATE";

.
.
.
?>

Meu computador a data e a hora se encontram normal.

Contudo, 2 (duas) horas antes das 00:00 a data muda, só no site, para o dia dia seguinte.

Ontem, 23/02/2019, às 19:00 estava no site 23/12/2019 (igual ao computador). Quando chegou mais ou menos às 22:01, abri o site já se entrava a data 24/02/2019.

A query dentro das linhas <?php ?> também influencia. Tenho que colocar algo na sql com current_date. 

Share this post


Link to post
Share on other sites

Olá!!

Pode estar apenas relacionado a uma incompatibilidade com o teu SO, podes tentar ver os logs a ver se consegues descobrir algo, acho isto pouco provavel masssss...

 

Não mostras-te o código em php que mostra a hora na página mas lembrando que tens de ter algo semelhante a isto: 

date_default_timezone_set('Europe/Lisbon');

Lembrando que tens de escolher o fuso horario de acordo com país onde estás claro: http://php.net/manual/en/timezones.php 

 

 

Depois podes usar a função 'Date do PHP para mostrar a data e hora por exemplo'

echo date("Y-m-d H:i:s");

A função date tem vários parâmetros : http://php.net/manual/en/function.date.php

 

 

 

Se mesmo  assim não der, é um pouco estranho sendo que o php vai buscar a hora ao servidor onde está hospedado o site!! 

Uma outra alternativa seria também verificar a configuração que está no ficheiro PHP.ini  entra neste ficheiro e procura a seguinte linha "date.timezone =" depois basta escolher o 'timezone' correspondente ao teu país podes usar o mesmo site que mencionei a cima para servir de ajuda : http://php.net/manual/en/timezones.php

 

 

Espero que ajude

Abraço

 

 

Share this post


Link to post
Share on other sites

Vitor,

Vou verificar tudo o que você recomendou.

Realmente, eu também achei estranho se estou usando:

Citar

CURRENT_DATE

 

Como estou no Rio de Janeiro uso quando necessário sempre usei:

<body>
	<?php 
		date_default_timezone_set('America/Sao_Paulo');
		$date = date('Y-m-d H:i');
		echo $date;
	?>
	
</body>

.

Ocorre que as frases estão no banco em uma coluna e na outra as datas. Acho bem mais tranquilo usar a própria sql para mostrar, o que eu desejo.

 

  Para as outras partes do site uso:

<?php 
$meses = array ("Janeiro", "Fevereiro", "Março", "Abril", "Maio","Junho", "Julho", "Agosto",
			   "Setembro", "Outubro", "Novembro", "Dezembro");
$dia = date ("d", time());
$mes = date ("n", time());
$ano = date ("Y", time());
echo $dia . " de " . $meses[$mes-1] . " de " . $ano;
?>

Vou observar novamente hoje.

Obrigado.

Share this post


Link to post
Share on other sites

Olá gente,

No meu php.ini estava assim:

date.timezone ="UTC"

Mudei para:

date.timezone ="America/Sao_Paulo"

Vou acompanhar, acredito que agora, na página, vai mudar a data depois das 00:00.

Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By thiagocola
      Eu peguei esse JSON no site do iFood e estou com dúvida de como converter esses 8 números em Time (HH:mm).
      Já tentei timestamp mas 8 dígitos é muito pequeno e já tentei ticks.
      Estou usando C#.
       
      "openingHours": [
                        {
                          "dayOfWeek": "MONDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "TUESDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "WEDNESDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "THURSDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "FRIDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "SATURDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "SUNDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        }
                      ]
       
      Estou achando que tenho que fazer algum tipo de multiplicação ou em última hipótese, esse valor é algum identificador interno do sistema deles.
       
      Tentei converter assim:
       
      DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
       
      var openingTime = dtDateTime.AddSeconds(13500000).ToLocalTime();
      // {06/06/1970 03:00:00}
       
      var closingTime = dtDateTime.AddSeconds(97140000).ToLocalTime();
      // {29/01/1973 05:20:00}
       
      Mas os valores que retornam não fazem sentido pra mim.
       
    • By mamotinho
      Olá, estou com problemas, minha data está atualizando porém eu clico em um produto ele exibe o tempo sem atualizar . quando eu mudo de produto ele mostra os dois valores exemplo
      Produto 1: tem duraçao de: 1 dia e 13:023 PM
      Produto 2: tem duraçao de: 0 dia e 23:023 PM

      Quando eu clico no produto 1 ele exibe normalmente, porém quando mudo para o produto 2 ele fica atualizando o valor do dia do produto 1 e do produto 2 sempre mudando.
      segue abaixo como está o codigo

      JavaSCRIPT
       
      function anooo(mes,dia,h,m){ var mess = mes; var dias = dia; var hss = h; var mss = m; // Set the date we're counting down to var countDownDate = new Date(""+mess+" "+dias+", 2020 "+hss+":"+mss+":00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get today's date and time var now = new Date().getTime(); // Find the distance between now and the count down date var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds var dayss = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); document.getElementById("days").innerHTML = dayss; document.getElementById("hrs").innerHTML = hours; document.getElementById("minus").innerHTML = minutes; document.getElementById("secs").innerHTML = seconds; this.remove(countDownDate); // If the count down is over, write some text if (distance < 0) { clearInterval(x); } }, 1000); } AQUI É O CHAMADO:
       
      <? if($result->Discount>=1){ $Month = date('M', strtotime($result->DateDiscount)); $Days = date('d', strtotime($result->DateDiscount)); $Hours = date('H', strtotime($result->DateDiscount)); $Minutes = date('i', strtotime($result->DateDiscount)); echo "<script>anooo('".$Month."','".$Days."','".$Hours."','".$Minutes."')</script>"; //echo "<script>alert('".$Month."')</script>"; ?> <ul class="time_sell remain_time"> <li> <dl> <dt class="blind">남은시간</dt> <dd> <span class='n_date day' id='days'></span> <span class='date'>일</span> <span class='n_time hour' id='hrs'></span> <span class='n_time minute' id='minus'></span> <span class='n_time second' id='secs'></span> <div id="countdown"></div> </dd> </dl> </li> </ul> <? } ?> eu já tentei de tudo mais sempre que mudo de produto ele exibe a data dos produtos anteriores em loop. a cada atualização do setInterval
    • By lucianfpaula
      Olá bom dia, estou com um problema, eu estou tentando fazer um select que me retorne dados de uma tabela com data igual a data do dia ou maior mas não estou conseguindo, só consigo trazer datas maiores que a do dia, mas datas igual ao dia não consigo, estou usando o seguinte select
      SELECT * FROM tabela WHERE id = 1 AND dataTermino >= NOW()
       
      Não sei se tem a ver com a data do servidor 
    • By lucianfpaula
      Olá, saudações a todos, eu tenho a seguinte duvida: preciso identificar se a data do dia esta dentro de um intervalo de datas, nos temos o seguinte sql
      "SELECT * FROM tb_cadastro WHERE datCadastro BETWEEN '2010/09/10' AND '2011/10/10'".
      O que preciso é saber se a data do dia este nesse intervalo. Tipo
      Data 01 = 01/02/2020
      Data 02 = 10/02/2020
      Data 03 = 05/02/2020
      se Data 03 estiver no intervalo de Data 01 e Data 02 faça algo se não faça nada
    • By RAFAEL HENRIQUE DE SOUZA
      Boa noite pessoal. 

      Estou com um problema e não consegui sair do lugar, tenho uma tabela de documentos (id, doc, path, ext, id_cli) e outra tabela de controle contendo o Id_documento, tipo_doc, data_criacao.
      Preciso informar se o documento listado ja foi substituído.
      A regra é a seguinte: Para o documento de mesmo cliente e mesmo tipo ele compara as datas alimentando a coluna de status para o mais recente e substituído par os demais.
      Segue o código para ajuda.

      create table `tb_documento` (
          `ID_DOCUMENTO` int (11),
          `DOCUMENTO` varchar (60),
          `PATH` varchar (60),
          `EXTENCAO` varchar (15),
          `ID_CLIENTE` int (11)
      ); 
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('1','TESTE1','C:\\DOCUMENTOS','PDF','1');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('2','TESTE DOC','C:\\DOCUMENTOS','XLS','1');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('3','ASLJDBASIHD','C:\\DOCUMENTOS','XLS','1');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('4','EXTREME','C:\\DOCUMENTOS','PDF','1');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('5','TESTE NOVO','C:\\DOCUMENTOS','DOC','2');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('6','WIN','C:\\DOCUMENTOS','DOC','2');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('7','XTREME','C:\\DOCUMENTOS','PDF','2');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('8','SAMSUNG','C:\\DOCUMENTOS','XLS','2');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('9','CPD','C:\\DOCUMENTOS','DOC','3');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('10','QQWAS','C:\\DOCUMENTOS','PDF','4');
      -------------------------------------------------------------------------------------
      create table `tb_tipo_documento` (
          `ID_TIPO` int (11),
          `ID_DOCUMENTO` int (11),
          `DATA_CRIACAO` datetime 
      ); 
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','1','2019-06-23 18:18:15');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('3','2','2019-06-24 18:19:52');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('2','3','2019-06-19 18:20:22');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('4','9','2019-06-11 18:31:21');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('4','10','2019-06-07 18:31:44');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('5','5','2019-06-26 18:32:15');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','4','2019-06-03 18:32:21');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','6','2019-06-01 18:36:17');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('3','7','2019-06-14 18:36:35');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','8','2019-06-20 18:36:59');
      ------------------------------------------------------------------------

      Modelo de resultado esperado:
      SELECT 
          TD.*,
          TTP.ID_TIPO,
          TTP.DATA_CRIACAO,
          '' AS 'STATUS'
      FROM 
          TB_DOCUMENTO TD
      LEFT JOIN 
          TB_TIPO_DOCUMENTO TTP ON TTP.ID_DOCUMENTO = TD.ID_DOCUMENTO;
      ----------------------------------------------------------------------
      Pessoal muito obrigado, qualquer ajuda é bem vinda!
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.