Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
gilmaioramos
Contributor III
Contributor III

Expressão - Extrair dias, meses e anos

Nobres, preciso extrair a quantidade de anos, meses e dias a partir de uma data editável.

Consegui apenas o ano completo pela seguinte expressão: =age('02/07/2018', DTNASCIMENTO).

Considerando os campos acima, exemplo: data de 01/05/1978 (campo DTNASCIMENTO) = 40 anos completos, 2 meses e 61 dias, tendo por base a data final de 02/07/2018.

Data_Nascimento   Anos_Completos   Meses_Completos  Dias_Completos

01/05/1978                  40                              02                       61

03/05/1978                  40                              01                       59

03/07/1978                  39                              11                        -1

02/07/1978                  40                              00                       00

Labels (2)
1 Solution

Accepted Solutions
Thiago_Justen_

Gilmaio,

Eis algumas expressões:

Anos_Completos =

Age(Today(),DTNASCIMENTO)

Meses_Completos =

IF(MONTH(Today()) = MONTH(DTNASCIMENTO),0,

IF(DAY(DTNASCIMENTO) < DAY(Today()), fabs(MONTH(Today())-Month(DTNASCIMENTO)),

((MONTH(Today())+12)-Month(DTNASCIMENTO))-1))


Dias_Completos =

IF(MONTH(Today()) = MONTH(DTNASCIMENTO),DAY(Today()) - DAY(DTNASCIMENTO),

IF(DAY(Today()) > DAY(DTNASCIMENTO),DAY(Today()) - DAY(DTNASCIMENTO),

DAY(DATE(Interval(Today() - DTNASCIMENTO)))-1))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

3 Replies
Thiago_Justen_

Gilmaio,

Eis algumas expressões:

Anos_Completos =

Age(Today(),DTNASCIMENTO)

Meses_Completos =

IF(MONTH(Today()) = MONTH(DTNASCIMENTO),0,

IF(DAY(DTNASCIMENTO) < DAY(Today()), fabs(MONTH(Today())-Month(DTNASCIMENTO)),

((MONTH(Today())+12)-Month(DTNASCIMENTO))-1))


Dias_Completos =

IF(MONTH(Today()) = MONTH(DTNASCIMENTO),DAY(Today()) - DAY(DTNASCIMENTO),

IF(DAY(Today()) > DAY(DTNASCIMENTO),DAY(Today()) - DAY(DTNASCIMENTO),

DAY(DATE(Interval(Today() - DTNASCIMENTO)))-1))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
gilmaioramos
Contributor III
Contributor III
Author

Thiago, muito obrigado pela colaboração.

===> Fiz pequenos ajustes na expressão do mês (retirando "+12" e o "-1") o resultado apresentado são os meses em relação ao atual, assim quem nasceu em jan será listado como sendo 6 (fev, mar, abr, mai, jun e jul), e quem nasceu em ago será listado -1.

= IF(MONTH(Today()) = MONTH(DTNASCIMENTO),0,IF(DAY(DTNASCIMENTO) < DAY(Today()), fabs(MONTH(Today())-Month(DTNASCIMENTO)),((MONTH(Today()))-Month(DTNASCIMENTO))))

Thiago_Justen_

Perfeito Gilmaio. Sempre à disposição meu amigo!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago