Hvordan beregner jeg alderen? Jeg har kunnet søge lidt frem her på eksperten, men kan ikke få det til at spille. Der skal også tages hensyn til skudår.
' dd mm og yyyy er fødselsdata age = DatePart("yyyy", Now()) - yyyy If (DatePart("m", Now()) < mm) Or ((DatePart("m", Now()) = mm) And (DatePart("d", Now()) < dd)) Then age = age - 1 ' age er alder
arne_v, jeg f[r en Internal Server Error, når jeg prøver dit (lettere omskrevede) script:
<%
Dim dateofbirth, monthofbirth, yearofbirth, age dateofbirth = RS("dateofbirth") monthofbirth = RS("monthofbirth") yearofbirth = RS("yearofbirth") age = DatePart("yearofbirth", Now()) - yearofbirth
If (DatePart("m", Now()) < monthofbirth) Or ((DatePart("m", Now()) = monthofbirth) And (DatePart("d", Now()) < dateofbirth)) Then age = age - 1
%>
Fødselsdato og alder: <%=SQLEncode(RS("dateofbirth"))%>. <%=SQLEncode(RS("monthofbirth"))%> <%=SQLEncode(RS("yearofbirth"))%>, <%=age%> år
Forøvrigt, lige et tillægsspørgsmål: Hvordan omskriver jeg 7 til "juli", 8 til "august" osv? Jeg har det liggende i nogle meget gamle dokumenter et eller andet sted, men jeg orker ikke at lede alle disse dokumenter igennem :o[
Senil: Jeg kigger på det senere, ser interessant ud :)
Jeg synes det er blevet svært at poste indlæg? Jeg har ikke været på eksperten meget længe.
<% Function calcage(yyyy,mm,dd) age = DatePart("yyyy", Now()) - yyyy If (DatePart("m", Now()) < mm) Or ((DatePart("m", Now()) = mm) And (DatePart("d", Now()) < dd)) Then age = age - 1 calcage = age End Function
Function calcage(yearofbirth, monthofbirth, dateofbirth) age = DatePart("yearofbirth", Now()) - yearofbirth If (DatePart("m", Now()) < monthofbirth) Or ((DatePart("m", Now()) = monthofbirth) And (DatePart("d", Now()) < dateofbirth)) Then age = age - 1 calcage = age End Function
Giver stadig samme fejl. Jeg gør vist et eller andet fuldstændigt galt?
Hvorfor dulen er det så svært at poste et indlæg? Det kan jo tage halve timer. java script: void(0); .... der er vist et eller andet, der ikke helt fungerer? Måtte installere FireFox for at kunne poste dette indlæg.
Function calcage(yearofbirth, monthofbirth, dateofbirth) age = DatePart("yearofbirth", Now()) - yearofbirth If (DatePart("m", Now()) < monthofbirth) Or ((DatePart("m", Now()) = monthofbirth) And (DatePart("d", Now()) < dateofbirth)) Then age = age - 1 calcage = age End Function %> <body>
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Jeg rettede alt det jeg havde (dateofbirth mv.), til nøjagtigt hvad du skrev:
<% Dim dd, mm, yyyy dd = RS("dateofbirth") mm = RS("monthofbirth") yyyy = RS("yearofbirth")
Function calcage(yyyy, mm, dd) age = DatePart("yyyy", Now()) - yyyy If (DatePart("m", Now()) < mm) Or ((DatePart("m", Now()) = mm) And (DatePart("d", Now()) < dd)) Then age = age - 1 calcage = age End Function %>
<body>
<%=calcage(yyyy, mm, dd)%> år
</body>
Og så virker det fint. Jeg troede dd, mm og yyyy bare var variabler, men de SKAL åbenbart benyttes til datoberegning? Jeg takker mange gange. Lægger du et svar?
Forøvrigt, vil det komme til at passe med skudår også?
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.