Det fungerer fint, men der vil være enkelte situationer omkring en persons fødselsdag hvor det vil give forkert svar da der ikke er 365, men 365,xxx dage på et år.
Man kan også bruge \"yyyy\" i stedet for \"d\" i DateDiff men det runder konsekvent op, så den antager at det \"Now\" er 31-12-2001 og query datoen er 01-01-XXXX hvor XXXX er året man spørger på (dag og månded bliver med andre ord ignoreret og alderen vil vises som én for høj indtil man kommer forbi fødselsdatoen.
Er der nogen der har et bedre forslag til en års-beregning mellem to datoer? (PS man skal valgfrit kunne anvende andet end \"Now\" som startdato)
Eller alternativt: hvilken konstant skal jeg bruge i stedet for 365 for at få en bedre bergening.
hoejrup - var det blot så simpelt... der er mere i det end som så, men jeg kan ikke reglerne uden ad. Det er noget med at hvis året er deleligt med 200 er der enten en ekstra eller en mindre skuddag + der er nogle andre korrigerende faktorer. Så derfor er 365,25 ikke det rigtige svar.
Jeg fandt denne algoritme for skudår: if (year mod 4 != 0) {use 28 for days in February} else if (year mod 400 == 0) {use 29 for days in February} else if (year mod 100 == 0) {use 28 for days in February} else {use 29 for days in February}
If intCMon = 0 Then If intCDay < 0 Then NumYears = NumYears - 1 If intCMon < 0 Then NumYears = NumYears - 1
End Function
Primitivt men effektivt...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.