Forum Academy Marketplace Showcase Pricing Features

Data de nascimento com formato ruim no BD

Colegas, formatei um input como data de nascimento mas quando cadastro a informação no banco de dados ela é gravada num formato padrão EUA (mm/dd/yyyy) e ainda adiciona hora, minuto, etc. Como é que eu faço para gravar no banco de dados somente o formato que tenho no input ? que seria dd/mm/yyyy (vejam neste print)

image

E tenho um outro input que chamei de idade. Como eu faço para calcular a idade sendo data de hoje - data de nascimento ?

Grato

Olá Sergio, tudo bem?
Legal te ver novamente por aqui.

Quando você define o tipo do campo no banco de dados como data, ele automaticamente o formato americano, que é o padrão do Bubble. Você só consegue editar como o dado aparece para o usuário, mas não como aparece no banco de dados.

Sobre o calculo, se não me engano, existe a opção “Current Date”, que seria a data de hoje.

Abs.

No banco de dados sempre será no formato padrão de datas, que é mm/dd/yyyy hh:mm AM/PM. Mas isso não interfere em nada, pois quando você for exibir a data em seu aplicativo basta formatar para aparecer a data no formato dd/mm/yyyy.

A idade da pessoa você nem precisa armazenar, pois ela vai sempre mudar. Esse é um valor dinâmico. Você só vai precisar fazer usar a fórmula abaixo para colher a idade:

Current date/time - User's dtnasc: format as days/365 :rounded to 0

Abraço!

Show vini, grato denovo. Na conta gratuita do bubble, vejo no banco de dados, em APP DATA, as colunas dos campos criados e campos default. Eu tento colocá-las na ordem que eu gostaria que ficassem arrastando colunas pra lá e pra cá mas depois volta ao padrão ‘desarrumando’ as posições que eu escolhi para cada coluna. E quando tento incluir na visualização mais algum campo clicando em adittional fields ele cria um segundo banco de dados com nome igual acrescentado da expressão modified. É assim mesmo ?

Vlw colega rpetribu, deu certo. Mas percebi algo estranho nesta página que contém este input. Na verdade nesta página-teste há apenas 4 inputs: nome, data nascimento, idade, telefone. E tem um botão salvar. Criei um workflow para ser executado quando apertar este botão salvar. Ao clicar neste botão os dados digitados nos input´s são salvos no banco de dados. Mas, acontece o seguinte: basta eu digitar qualquer coisa num único campo, pode ser até um ABC, e teclar que o dado é salvo no banco de dados. Mas eu não criei nenhum comando amarrado à tecla ENTER. Sabe como posso resolver isso ?

quis dizer…basta eu digitar qualquer coisa em qualquer campo e apenas teclar ENTER que o dado já é gravado no banco de dados. Não está respeitando o “apenas quanto pressionar o botão SALVAR”.

Fala @sergio.fg !

Então, isso é normal. Vai nas configurações dos seus inputs e marque estas duas caixinhas:

image

A primeira vai evitar que teclando ENTER você ative o workflow relacionado a este input (que no seu caso é o de salvar no banco de dados) e a segunda é para você prevenir que o input esteja vazio no momento que você clicar no botão de salvar. Isso é importante para campos obrigatórios.

Dividir a data por 365 não é um bom jeito pra calcular a idade, já que existem anos bissextos…
Você pode fazer uma condição:
“data nasc”:extract date >= “current date”:extract date:formatted as text (
If yes → “current date”:extract year - “data nasc”:extract year +1
If not → “current date”:extract year - “data nasc”:extract year
):converted to number

aí vai sempre sair a idade certinha

Show, vlw

Opa… desculpa ressuscitar este tópico, mas estou querendo mostrar uma data vindo do BD e não sei como formatar para o padrão Brasileiro, como faz? Ainda sou novo no Bubble…

Olá @tiago123lisboa tudo bem contigo?

Primeiro verifique se seu app esta configurado para português:

Pode configurar também o formato como a data será disponibilizada por aqui:

Caso queira um formato customizado:

Abraço!

1 Like

Valeu muito, ajudou demais, obrigado!

1 Like