webForumDet fria alternativet

Räkna ut ålder

ASP

18 svar · 807 visningar · startad av mcfoist

Medlem sedan feb. 200244 inlägg
Frågan#1

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 :) ?

Medlem sedan dec. 200012 464 inlägg
#2

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>"
Medlem sedan feb. 200244 inlägg
#3

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

Medlem sedan mars 20015 287 inlägg
#4

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.)

Medlem sedan nov. 20017 144 inlägg
#5

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

Medlem sedan mars 20015 287 inlägg
#6

Ja, det var ju det jag sa ju...

Jesper, fick du till det med dina onlineusers?

Medlem sedan feb. 200244 inlägg
#7

OK. SUPER!

Skönt att veta att man är 26,782609647982 år.. :p

Tack, för enormt snabba svar

mvh
Andreas

Medlem sedan nov. 20017 144 inlägg
#8

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

Medlem sedan feb. 200244 inlägg
#9

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

Medlem sedan nov. 20017 144 inlägg
#10

Om du inte har medlemmar äldre än 99 år så går det br att skriva left(rs("dob"),2)

MVH Jesper ;)

Medlem sedan nov. 20017 144 inlägg
#11

Fast i detta fall i response write: left(gammal,2)

Medlem sedan feb. 200244 inlägg
#12

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

Medlem sedan nov. 20017 144 inlägg
#13

;) WF är en drog! :birp

Medlem sedan feb. 20032 027 inlägg
#14

FormatNumber(rs("dob"),2)

Medlem sedan nov. 20017 144 inlägg
#15

FormatNumber(rs("dob"),2)

mcfoist för över två år sedan skrev:

Räkna ut ålder

Que?

Medlem sedan apr. 20003 174 inlägg
#16

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]
Medlem sedan maj 200010 687 inlägg
#17

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(

Medlem sedan maj 200010 687 inlägg
#18

Left är till för strängar/text/bokstäver.
Int och Fix är till för tal/siffror/nummer.

Medlem sedan nov. 20017 144 inlägg
#19

Basta! x(

269 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)