tikrimi
Messages postés192Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention 9 mars 2007
-
12 oct. 2006 à 22:38
cs_bluedemon
Messages postés41Date d'inscriptionmercredi 21 septembre 2005StatutMembreDernière intervention 3 novembre 2008
-
28 août 2007 à 12:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_bluedemon
Messages postés41Date d'inscriptionmercredi 21 septembre 2005StatutMembreDernière intervention 3 novembre 2008 28 août 2007 à 12:08
La fonction a été corrigée :-)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 août 2007 à 18:40
ne fonctionne pas ?
plus qu'étrange ^^
quelle est ta date de naissance ? et l'age que ca te retourne
cs_iceman64b
Messages postés30Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention 5 mars 2013 23 août 2007 à 17:53
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 ????
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 16 oct. 2006 à 06:44
DateDiff("yyyy"...
te donnera, Tikrimi un résultat erroné
le meilleu moyen est de faire :
datediff("d",#12/31/1983#,now)\365.25
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 12 oct. 2006 à 22:49
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... :-)
tikrimi
Messages postés192Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention 9 mars 20071 12 oct. 2006 à 22:38
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
28 août 2007 à 12:08
23 août 2007 à 18:40
plus qu'étrange ^^
quelle est ta date de naissance ? et l'age que ca te retourne
23 août 2007 à 17:53
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 ????
16 oct. 2006 à 06:44
te donnera, Tikrimi un résultat erroné
le meilleu moyen est de faire :
datediff("d",#12/31/1983#,now)\365.25
12 oct. 2006 à 22:49
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
12 oct. 2006 à 22:38
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