Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

webfuture

Como calcular a idade a partir de dd/mm/aaaa

Recommended Posts

Olá galera, alguém sabe me dizer como fazer para calcular a idade exata de um usuario atraves da data de nascimento ? Eu tentei fazer aqui mas sempre trazia um ano a mais... Alguém me indica um script ou alguma forma de fazer ?WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue função que utlizo:<%if db("nascimento") <> "" then%><%dim dataatual, datanascimento, n1, n2datanascimento = db("nascimento")function formatadata(data)dd = day(data)mm = month(data)aa = year(data)if len(dd) = 1 then dd = "0" & ddif len(mm) = 1 then mm = "0" & mmformatadata = cstr(dd & "/" & mm & "/" & aa)end functionfunction idade(dataatual, datanascimento)if (cint(mid(dataatual, 4, 2)))>=(cint(mid(datanascimento, 4, 2))) then if (cint(mid(dataatual, 1, 2)))>=(cint(mid(datanascimento, 1, 2))) then n1 = cint(mid(dataatual, 7, 4)) n2 = cint(mid(datanascimento, 7, 4)) idade = n1-n2 else n1 = cint(mid(dataatual, 7, 4)) n2 = cint(mid(datanascimento, 7, 4)) idade = n1-n2-1 end ifelse n1 = cint(mid(dataatual, 7, 4)) n2 = cint(mid(datanascimento, 7, 4)) idade = n1-n2-1end ifResponse.Write idadeend functioncall idade(formatadata(date),formatadata(db("nascimento")))%> anos<%end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra maneira:<% Session LCID=1046Nascimento="18/01/1972"Anos= Cint(DateDiff("m",Nascimento,Date)/12)DifDia= (DateDiff("d",Nascimento,Date) Mod 365)DifDia= DifDia - (Cint(DateDiff("d",Nascimento,Date)/365)/4)If DifDia<0 ThenResponse.Write "você tem " & Cint(Anos-1) & " anos e " & (365+DifDia) & " dias"ElseResponse.Write "você tem " & Anos & " anos e " & (DifDia) & " dias"End IF%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.