¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como calcular a idade de um cliente em formato Anos, Meses e Dias considerando o ano bissexto

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 6 Vistas
0
Cargando...

Olá a todos,

Encontrei um tópico alguns dias atrás em que um usuário final queria a idade de um cliente no formato X Anos Y Meses e Z Dias dados duas datas.

Pesquisei em vários blogs, mas a maioria não considerava o ano bissexto, o que poderia levar a dados incorretos.

Modifiquei a lógica que encontrei em um dos blogs e consegui fazê-la funcionar, então pensei em compartilhá-la com todos vocês, já que podemos ter esses requisitos no futuro.

Assim é como funciona. Vou pegar duas datas como Data Atual ( [CurrDate] ) e Data de Nascimento ( [BDate] ).

Primeiro calcularei o número de anos em uma fórmula que um especialista me disse que dividir uma fórmula grande em partes menores a torna mais legível e fácil de entender.

[NumberOfYears]= Ano([CurrDate]) - Ano([BDate]) - Se ( [CurrDate] < [BDate]; 1 ; 0 ) + " Anos "

Agora calcularei o número de meses

[NumberOfMonths]= (Mod (((NúmeroDeMes(Ano([CurrDate])) - NúmeroDeMes(Ano([BDate])) + 12) - Se ( DiaNúmeroDeMes([CurrDate]) < DiaNúmeroDeMes([BDate]) ; 1 ; 0 ); 12 )) + " Meses "

E por último, o número de dias

[NumberOfDays]= (DiaNúmeroDeAno([CurrDate]) - DiaNúmeroDeAno( [BDate]) + Se ( DiaNúmeroDeAno([CurrDate]) >= DiaNúmeroDeAno( [BDate]) ; 0 ; Se ( DiaNúmeroDeAno( [CurrDate]) - DiaNúmeroDeAno([CurrDate]) < DiaNúmeroDeAno( [BDate]) ; DiaNúmeroDeAno( [BDate]) ; DiaNúmeroDeAno( [CurrDate]) - DiaNúmeroDeAno( [CurrDate]) ) )) + " Dias"

Depois de fazer tudo isso, a única tarefa que resta é concatenar essas três fórmulas.

[Age]= [NumberOfYears]+ [NumberOfMonths]+ [NumberOfDays]

e você obterá os dados no seguinte formato.

Testei o código com datas de ano bissexto e algumas outras datas aleatórias, mas suas valiosas opiniões e sugestões são sempre bem-vindas.

Espero que gostem.

Saudações

Niraj

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?