Skip to content
  • Categorias
  • Recente
  • Tags
  • Popular
Collapse
Brand Logo

  1. Fórum Maker
  2. Categorias
  3. Maker
  4. Erro de leitura de data - MySQL

Erro de leitura de data - MySQL

Agendado Fixado Trancado Movido Maker
6 Posts 3 Posters 577 Visualizações
  • Mais Antigo para Mais Recente
  • Mais Recente para Mais Antigo
  • Mais Votados
Responder
  • Responder como tópico
Entre para responder
Este tópico foi deletado. Apenas usuários com privilégios de moderação de tópico podem vê-lo.
  • J Offline
    J Offline
    joaoquaresma
    escreveu em última edição por
    #1

    Boa tarde, dia e noite.
    Estou trabalhando em um projeto cujo banco de dados é MySQL 5.6. Contudo, toda vez que eu busco na tabela alguma data, o valor apresentado no componente fica um dia atrasado. Ex.:
    DATA_BANCO: 2023-03-27
    DATA_COMPONENTE: 26/03/2023

    Alguém pode me dizer se há algum recurso além dos fluxos?

    DiegoJCD 1 Resposta Última resposta
    0
    • J joaoquaresma

      Boa tarde, dia e noite.
      Estou trabalhando em um projeto cujo banco de dados é MySQL 5.6. Contudo, toda vez que eu busco na tabela alguma data, o valor apresentado no componente fica um dia atrasado. Ex.:
      DATA_BANCO: 2023-03-27
      DATA_COMPONENTE: 26/03/2023

      Alguém pode me dizer se há algum recurso além dos fluxos?

      DiegoJCD Offline
      DiegoJCD Offline
      DiegoJC
      escreveu em última edição por DiegoJC
      #2

      @joaoquaresma Amigo, tenta alterar o campo para DATA e HORA pra você avaliar o comportamento se ele volta 1 dia mesmo ou algumas horas? Acho que o seu problema seja com o timezone. Nao me lembro ao certo, mas ja vi pessoas com esse problema no MYSQL.

      Dá uma olhada nesses topicos aqui veja se ajuda:
      https://forum.softwell.com.br/topic/30644/horário-de-verão-no-mysql?_=1681241034614

      https://forum.softwell.com.br/topic/31280/timezone/2

      1 Resposta Última resposta
      0
      • J Offline
        J Offline
        joaoquaresma
        escreveu em última edição por
        #3

        Bom dia.
        Vou descrever um exemplo: Estou realizando a montagem de um componente grade que é alimentado por um formulário associado com a tabela "vendas". Na tabela "vendas" eu possuo as colunas "cliente", "valor" e "data_compra". Essa tabela é alimentada por outra aplicação em C. Quando a tabela recebe uma nova informação, "312", "120.00" e "2023-04-14" a grade atualiza e mostra esses valores da seguinte forma: Cliente: 312, Valor: R$120,00 e Data da Compra: 13/04/2023.
        Essa data, independente de qual seja sempre está sendo apresentado, tanto na grade, quanto no componente que armazena ele no formulário que alimenta a grade, com um dia a menos.
        Estou utilizando o MySQL server 5.6, contudo o 5.7 também está com o mesmo erro. O mesmo não ocorre em PostgreSQL.

        DiegoJCD 1 Resposta Última resposta
        0
        • J joaoquaresma

          Bom dia.
          Vou descrever um exemplo: Estou realizando a montagem de um componente grade que é alimentado por um formulário associado com a tabela "vendas". Na tabela "vendas" eu possuo as colunas "cliente", "valor" e "data_compra". Essa tabela é alimentada por outra aplicação em C. Quando a tabela recebe uma nova informação, "312", "120.00" e "2023-04-14" a grade atualiza e mostra esses valores da seguinte forma: Cliente: 312, Valor: R$120,00 e Data da Compra: 13/04/2023.
          Essa data, independente de qual seja sempre está sendo apresentado, tanto na grade, quanto no componente que armazena ele no formulário que alimenta a grade, com um dia a menos.
          Estou utilizando o MySQL server 5.6, contudo o 5.7 também está com o mesmo erro. O mesmo não ocorre em PostgreSQL.

          DiegoJCD Offline
          DiegoJCD Offline
          DiegoJC
          escreveu em última edição por
          #4

          @joaoquaresma Ainda acredito que possa ser problema com o timezone. Faz um teste, cria um formulario novo e uma tabela com campo data e hora.

          E observa como vão ficar os resultados no banco depois de manipular pelo formulário. Eu acredito que se você colocar via fomulario uma data 26/03/2023 00:00:00. Vai aparecer depois de alterar: 25/03/2023 23:00:00 por exemplo. Se esse for o comportamento é problema no timezone.

          Um abraço.

          S 1 Resposta Última resposta
          1
          • DiegoJCD DiegoJC

            @joaoquaresma Ainda acredito que possa ser problema com o timezone. Faz um teste, cria um formulario novo e uma tabela com campo data e hora.

            E observa como vão ficar os resultados no banco depois de manipular pelo formulário. Eu acredito que se você colocar via fomulario uma data 26/03/2023 00:00:00. Vai aparecer depois de alterar: 25/03/2023 23:00:00 por exemplo. Se esse for o comportamento é problema no timezone.

            Um abraço.

            S Offline
            S Offline
            Sergio Alves
            escreveu em última edição por
            #5

            Boa tarde, tive este problema também.
            Se você verificar, cada vez que você edita um registro e grava, os campos data do registro voltam 01 dia.
            Minha TimeZone já estava configurada.
            Só consegui resolver alterando os campos data para datetime
            Nas consultas, para não filtrar por datetime utilizei Date(campo), com isto filtra somente a data, ignorando a hora.
            Atualizei para o maker5, no Maker5 este erro não ocorre nos bancos MySQL.
            O Maker5 está homologado para MySQL 8.0, achei o banco bem mais rápido.

            1 Resposta Última resposta
            1
            • J Offline
              J Offline
              joaoquaresma
              escreveu em última edição por
              #6

              Resolvido!

              Quando vou declarar uma SQL para o preenchimento da minha grade, os campos onde são datas, soma-se mais 0.

              Exemplo: Tabela: cadastro_de_ funcionario; Campo: aniversário; Valor: 1999-10-26.

              Como era:
              SELECT aniversario
              FROM cadastro_de_funcionario
              Retorno: 25/10/1999

              Como está:
              SELECT Date_Format(aniversario + Interval 0 Day, '%d/%m/%Y') As data_aniversario
              FROM cadastro_de_funcionario
              Retorno: 26/10/1999

              1 Resposta Última resposta
              0
              Responder
              • Responder como tópico
              Entre para responder
              • Mais Antigo para Mais Recente
              • Mais Recente para Mais Antigo
              • Mais Votados


              • Login

              • Não tem uma conta? Cadastrar

              • Login or register to search.
              • Primeiro post
                Último post
              0
              • Categorias
              • Recente
              • Tags
              • Popular