Calcul de l'age d'une personne (asp vbscript)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 29 388 fois - Téléchargée 23 fois

Contenu du snippet

Calcul de l'age d'une personne à partir de sa date de naissance donnée en paramettre en ASP VBScript

Source / Exemple :


<%
function age(dat)
	actu = left(now(),10)
	nais = dat
	if((Month(actu))>=Month(nais)) then
		if((Month(actu))=Month(nais)) then
			if(Day(actu)>=Day(nais)) then
				ans=Year(actu)-Year(nais)
			else
				ans=Year(actu)-Year(nais)-1
			end if
		else
			ans=Year(actu)-Year(nais)
		end if
	else
		ans=Year(actu)-Year(nais)-1

	end if
	age=ans
End Function
%>

Conclusion :


Cette fonction permet de calculer l'age d'une personne en mettant en paramettre sa date de naissance.
Pas bien compliqué mais l'age est tres souvent demandé d'etre calculé.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
41
Date d'inscription
mercredi 21 septembre 2005
Statut
Membre
Dernière intervention
3 novembre 2008

La fonction a été corrigée :-)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
ne fonctionne pas ?

plus qu'étrange ^^

quelle est ta date de naissance ? et l'age que ca te retourne
Messages postés
30
Date d'inscription
mardi 28 février 2006
Statut
Membre
Dernière intervention
5 mars 2013

La fonction originale ne fonctionne pas correctement, puisqu'à l'approche de l'anniversaire, la personne a déjà un an de plus. Pour la version écourtée (avec datediff), c'est l'inverse: une fois la date d'anniversaire passée, la personne n'a toujours pas son année supplémentaire.

Mon but est simplement d'avoir dans une BD, les noms, prénoms et date de naissance de personne que je connais et que via la page asp, je puisses savoir leur âge actuelle. Sauf que dans le cas de la fonction avec le datediff (malgré la correction de Renfield, ma date de naissance est en juin et nous sommes en août et mon âge est incorrect (manque un an). Si je prends le source proposé par Bluedemon, les personnes que je connais qui sont nées en septembre, ont déjà un an de plus!.

Y-a-t-il moyen d'avoir un calcul de l'âge qui fonctionne ????
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
DateDiff("yyyy"...
te donnera, Tikrimi un résultat erroné

le meilleu moyen est de faire :

datediff("d",#12/31/1983#,now)\365.25
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Salut,

Avec pourquoi pas aussi au tout début de la fonction un :
If Not IsDate(dat) Then Return 0
pour éviter les problèmes... :-)

Jette un coup d'oeil aux fonctions sur les Dates, comme dit Tikrimi, autant les utiliser :
http://www.w3schools.com/vbscript/vbscript_ref_functions.asp#date

A++,
Nurgle
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.