Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CALCUL DE L'AGE D'UNE PERSONNE (ASP VBSCRIPT)


Information sur la source

Catégorie :Date/Heure Classé sous : age, calcul, date Niveau : Initié Date de création : 12/10/2006 Date de mise à jour : 28/08/2007 12:08:23 Vu : 17 545

Note :
Aucune note

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


Description

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

Source

  • <%
  • 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
  • %>
<%
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é.
 

Historique

28 août 2007 12:07:30 :
La fonction a été corrigé. Je l'avais déjà corrigé pour mon site mais oublié de la faire ici.
28 août 2007 12:08:23 :
La fonction a été corrigé. Je l'avais déjà corrigé pour mon site mais oublié de la faire ici.

Commentaires et avis

signaler à un administrateur
Commentaire de tikrimi le 12/10/2006 22:38:25

Hello,

J'ai pas regardé en détail, mais l'ASP propose des fonctions sur les dates, et autant les utiliser.
En utilisant la fonction DateDiff, ta fonction peut devenir la suivante :

function age(dat)

dim vAge
dim vNow
dim vDateNaissance
vDateNaissance = cdate(dat)
vNow = Date
vAge = clng(datediff("yyyy",cdate(dat),vNow))
'on enlève un an si la bougie n'a pas été soufflée dans l'année en cours
if DateDiff("d",DateSerial(year(vNow),Month(vDateNaissance),Day(vDateNaissance)),vNow) > 0 then
vAge = vAge - 1
end if
age = vAge

end function

Bon code,

Christophe

signaler à un administrateur
Commentaire de Nurgle le 12/10/2006 22:49:37 administrateur CS

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

signaler à un administrateur
Commentaire de Renfield le 16/10/2006 06:44:35 administrateur CS

DateDiff("yyyy"...
te donnera, Tikrimi un résultat erroné

le meilleu moyen est de faire :

datediff("d",#12/31/1983#,now)\365.25

signaler à un administrateur
Commentaire de iceman64b le 23/08/2007 17:53:38

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

signaler à un administrateur
Commentaire de Renfield le 23/08/2007 18:40:44 administrateur CS

ne fonctionne pas ?

plus qu'étrange ^^

quelle est ta date de naissance ? et l'age que ca te retourne

signaler à un administrateur
Commentaire de bluedemon le 28/08/2007 12:08:50

La fonction a été corrigée :-)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

suppression auto [ par rony ] bjr,A partir d'une date qui se trouve dans chaque enregistrement de ma table puis je effectuer une suppression automatique des enregistrements qui da mettre un champ date à null [ par yoyo ] lors d'une requête d'insertion en SQL, je dois mettre un champ date à null.le pb, c'est que je ne trouve pas la bonne syntaxe pour mettre ce champ à Problème de date [ par thedentiste ] Comment transformer une variable texte egale à 21/05/01 en variable date.J'ai contruis la variable texte comme se sidatenais=jour&"/"&mois&"/"&anneejo Inversion du format après le 31 Mai ! - HELP ! [ par Benoit ] Si j'insere une date dans ma base donnée access (2000) dont le format est "jj/mm/aaaa" et supérieure au 31 mai, l'insertion de cette date se fait avec date [ par hamrouni ] comment faire pour avoir une zone de liste déroulante qui affiche la date acctuelle lorsque j'ouvre une page de réservation date [ par hamrouni ] comment fair pour avoir une zone de liste qui comporte les jours avec la date du jour acctuelle selectionner et une autre avec les mêmes caractéristiq calcul automatique [ par berserk ] salut je souhaite faire remonter 1 colonne numérique d'une base access et additionner automatiquement tt les champs de cette colonne et voirle résult boite alerte [ par rony ] le message d'alerte suivant ne fonctionne pas pourquoi ?merci1/ tout d'abord je récupére ma variable "dates" de monformulaire.comme ceci&lt;% dates Select sur date dans un ASP [ par Jacques76 ] J'ai sur mon serveur un fichier Access avec une zone date (type date/time).Je l'interroge avec des pages .asp . J'ai un problème pour faire un select encore des PB avec Insert To et reponse.write [ par pi0up51 ] voilà j'ai un formulaire et blablabla...Je met des liste et des champs texte.dans ma page de résultat j'ai ce code là :*******************************


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.