fdag = formatdatetime(fdag&"-"&fdag2&"-"&fdag3)
dagens_datum = date()
if month(dagens_datum) < fdag2 Then
if day(fdag2) > dagens_datum then
alder = year(dagens_datum) - year(fdag)
else
alder = year(dagens_datum) - year(fdag) - 1
end if
elseif month(dagens_datum) > fdag2 then
alder = year(dagens_datum) - fdag - 1
end if
fdag = år
fdag2 = månad
fdag3 = dag
Reslutatet blir (om födelsedatumen är: 88 05 08), alltid 14...
kanske är ngt uppenbart fel, men just nu är jag så trött efter att ha bråkat med ett segt javascript typ hela dagen :D
Nope, funkade inte! Om jag sätter min födelsedag en månad efter denna, så är jag fortfarande 15 år! Det är dagarna som är problemet, i mitt skript ovanstående!
<%
Function TaFramAlder(FodelseDatum)
If isDate(FodelseDatum) Then
TaFramAlder = DateDiff("yyyy", FodelseDatum, Date) + (DateSerial(Year(Date), Month(FodelseDatum), Day(FodelseDatum)) > Date)
End If
End Function
%>
Sedan skriver du ut
<%
Response.Write "Du är " & TaFramAlder("1982-12-28") & " år gammal."
%>
Nu får du ta och kamma dig ;)
Detta: 88-09-21, ger resultatet: 15.0011978507136
Och detta: 88-09-22, ger resultatet: 14.9984599062254
Alltså, om jag är född den 22 september 1988 så är jag idag 14
men är jag född den 21 september 1988 så fyller jag 15 idag.
voigtann1 vad gör eg. den där funktionen? Den kan inte vara riktigt rätt skriven.
Hmm.. det har du faktist rätt i... märkligt.. har använd den funktionen innan och då hade jag det resultatet jag hade velat men... ignoera mitt svar :e ska kolla igenom koden lite mer :e
264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25