Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problema com data mysql

Ao inserir os dados no banco o mesmo está sendo inserido com a data 2017-12-31 02:00:00 para qualquer registro

@Bean
    public FormattingConversionService mvcConversionService() {
        DefaultFormattingConversionService conversionService = 
                new DefaultFormattingConversionService();
        DateFormatterRegistrar registrar = new DateFormatterRegistrar();
        registrar.setFormatter(new DateFormatter("dd/MM/YYYY"));

        registrar.registerFormatters(conversionService);

        return conversionService;

    }
2 respostas
solução!

Olá André, tudo bem ?

Este trecho que código configura apenas um formatador de datas. Pra saber porque isso esta acontecendo é preciso olhar pra mais classes que possam estar envolvidas nessa funcionalidade. Desde a página jsp, até o repository que está gravando. O objeto está com algum default pra data? Fazendo algo como um Calendar.getInstance() pra data (pega a data atual do sistema pra todas as instancias) ? Existe algum default pro campo de data no banco de dados utilizado ? O seu cósigo pode não estar recebendo a data do usuário corretamente e o default está indo pra base ao invés do valor devido.

É preciso dar uma olhada nestes detalhes, tente verificar como a data sai do navegador (Inspect > Aba Network > verificar payload enviado no request) e chega no controller verificar como está o objeto recebido e montado pelo Spring.

Verifique esses passos. Abraço!

O erro estava no campo do ano é tudo minúsculo havia colocado em maíscula.

registrar.setFormatter(new DateFormatter("dd/MM/YYYY"));

registrar.setFormatter(new DateFormatter("dd/MM/yyyy"));

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software