Om du har hämtat posterna till ett recordset så kan du räkna ut åldern med datediff
response.write rs("namn") & " är " & datediff("yyyy",rs("dob"),date()) & " gammal <br>"
18 svar · 807 visningar · startad av mcfoist
Sitter med en tabell där jag har de 6 första siffrorna i olika personers personnummer. Nu vill jag visa hur gammal de är. Ställer frågan här eftersom jag är ganska dålig på att hantera #datum# :r
Utdrag ut tabellen:
Namn | dob
Bosse | 1975-02-27
Jag vet att man ska använda Date, men jag är som sagt kass på det. Någon vänlig själ som vill hjälpa till?
Givetvis vill jag att åldern ska 'uppdateras' på dagen, men jag är bara intresserad av att visa hela år på sidan. Förstog ni det där sista :) ?
Om du har hämtat posterna till ett recordset så kan du räkna ut åldern med datediff
response.write rs("namn") & " är " & datediff("yyyy",rs("dob"),date()) & " gammal <br>"
ok. Det funkar....men inte som jag vill :)
Ditt förslag ger mig en ålder men det blir den ålder som personen kommer att fylla detta år. Jag vill att det ska stå att personen är 26 ända fram tills hans födelsedag och dagen efter ska han vara 27. ...på ditt exempel står det 27 på en gång...
Finns det något annat sätt? :q
mvh
Andreas
http://www.devguru.com/technologies/vbscript/quickref/datediff.html
Har för mig att lösningen är att räkna hur många dagar gammal man är och sen då dividera/multiplicera med antalet dagar per år. (~365 någonting ungefär.)
Detta kommer nog att göra susen:
gammal = rs("dob")
response.write rs("namn") & " är " & DateDiff("y",gammal,date())/365.2375 & " gammal <br>"
MVH Jesper T
OK. SUPER!
Skönt att veta att man är 26,782609647982 år.. :p
Tack, för enormt snabba svar
mvh
Andreas
Jag såg just att du hade varit juste och svarat som vanligt, håller på att försöka knacka till något nu! Tack! Jag återkommer!
Jesper
Fast jag kanske var för snabb med att bli glad :)
Hur avrundar jag neråt?
FormatNumber(, , , , ), vilken jag brukar använda, avrundar!
till detta finns det säkerligen en enkel lösning...men vilken?
mvh
Andreas
Fast i detta fall i response write: left(gammal,2)
Klockrent!
...tack för tålamodet med en frågvis nybörjare :) , trots den sena timmen.
Nu är klockan för mycket, men räkna med att jag kommer tillbaka hit! :h
mvh
Andreas
;) WF är en drog! :birp
FormatNumber(rs("dob"),2)
En variant.. :)
[red]Function calcMyAge(strBirthDate)
strBirthDate = trim(strBirthDate)
If Len(strBirthDate) > 0 Then
calcMyAge = int(datediff("d",cDate(strBirthDate),date())/365.25)
End If
End Function
...
gammal = rs("dob")
Response.Erite rs("namn") &" är "& calcMyAge(gammal) &" gammal. <br>"[/red]
Man blir rädd när man ser folk avrunda tal med Left funktionen. :o
Finns ju funktioner som avrundar neråt som Int och Fix som avrundar neråt! x(
Left är till för strängar/text/bokstäver.
Int och Fix är till för tal/siffror/nummer.
Basta! x(