Les Snippets

Connexion

nombre d'années(age)

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 19/07/2008 14:59:54 et initié par gillardg [Liste]
Vue : 6050
Catégorie(s) : Date & Heure
Langages dispo pour ce code :
- VB 2005, VB 2008
- PHP 3, PHP 4, PHP 5
- VB6
- VB6, VBA
- C# 2.x, C# 3.x



Langage : VB 2005 , VB 2008
Date ajout : 19/07/2008
Posté par gillardg [Liste]

Public Function Age(ByVal Birthdate As System.DateTime) As Long

Try
Dim CurrentDate As System.DateTime = System.DateTime.Today 
Select Case Month(Birthdate)
Case Is < Month(System.DateTime.Today) 
Age = DateDiff("YYYY", Birthdate, Now())
Case Is = Month(CurrentDate) 
Select Case (Birthdate.Day)
Case Is < (CurrentDate.Day) 
Age = DateDiff("YYYY", Birthdate, Now())
Case Is = (CurrentDate.Day) 
Age = DateDiff("YYYY", Birthdate, Now())
Case Is > (CurrentDate.Day) 
Age = DateDiff("YYYY", Birthdate, Now()) - 1
End Select

Case Is > Month(CurrentDate) 
Age = DateDiff("YYYY", Birthdate, Now()) - 1
Case Else


Age = 0

End Select
Catch ex As System.Exception 
'Error handling code does here

End Try

End Function

Langage : PHP 3 , PHP 4 , PHP 5
Date ajout : 23/07/2008
Posté par buno [Liste]
/**
    @brief Cette fonction calcule l'age d'une personne à partir de sa date de naissance
    @param $dd Jour de Naissance
    @param $mm Mois de Naissance
    @param $yy Annee de Nassance
*/
function GetAge($dd,$mm,$yy)
{
    $naiss = mktime(0, 0, 0, $mm, $dd, $yy);
    $today = mktime();
    $secondes = ($today > $naiss) ? $today - $naiss : $naiss - $today;
    $annees = date('Y', $secondes) - 1970;
    echo $annees;
}

Langage : VB6
Date ajout : 08/08/2008
Posté par Renfield [Liste]
 Private Function Age(ByRef vdBirthDate As Date, Optional ByVal vdNow As Date) As Long
     If vdNow = 0 Then
         vdNow = Now
     End If
     Age = Fix(DateDiff("D", vdBirthDate, vdNow) / 365.25)
 End Function 
Langage : VB6 , VBA
Date ajout : 27/12/2009
Posté par PCPT [Liste]
Function GetElapsedYears(ByVal d1 As Date,  ByVal d2 As Date) As  Integer
'   d2 doit être supérieur à  d1
    If d2 < d1 Then
        Err.Raise vbObjectError Or vbDate, "GetElapsedYears""Utilisation incorrecte de la  fonction, la date de début doit être inférieure ou égale à la date de  fin."
    Else
'       on cale la date de début à l'année de  fin
        Dim As Date
        d = CDate(Format$(Year(d2) & "-" Month(d1) & "-" Day(d1), "YYYY-MM-DD"))
        
        If d > d2 Then
'           la date supérieure  à la date de comparaison, l'année n'est donc pas  complète
            GetElapsedYears = Year(d2) - Year(d1) - 1
        Else
'           année  écoulée
            GetElapsedYears = Year(d2) - Year(d1)
        End If
    End If
End Function

'----------------
' CODE  EXEMPLE
'----------------

Private Sub Test()
'   age de référence (date de naissance)
    Dim dBirth As Date
    dBirth = CDate("1970-12-15")
    
'   date de comparaison le 14 décembre 2009
    Dim d14dec As Date
    d14dec = CDate("2009-12-14")
'   le 14dec, il a encore 38 ans. à partir du lendemain il aura  39, ces 2 dates bien dans la même année
    
    Dim iRes1 As Integer
    Dim iRes2 As Integer
    
    iRes1 = GetElapsedYears(dBirth, d14dec)
    iRes2 = GetElapsedYears(dBirth, DateAdd("d"1, d14dec))
    
    
    MsgBox "Aujourd'hui le 14/12/2009,  l'utilisateur a " CStr(iRes1) & " ans." & vbCrLf & _
           "Demain le 15, il aura " CStr(iRes2) & " ans."
End Sub

Remarque :
ici on vérifie que l'année soit bien passée entièrement, pas besoin de prendre en compte alors les années bissextiles etc...
Langage : C# 2.x , C# 3.x
Date ajout : 28/12/2009
Posté par Charles Racaud [Liste]
/// <summary>Calcule l'âge en nombre d'années par rapport à la date courante.</summary>
/// <param name="birthdate">Date de naissance de la personne. Si cette date est supérieure à 
/// la date courante, la valeur retournée sera négative</param>
/// <returns>L'âge en nombre d'années.</returns>
static int Age(DateTime birthdate) {
  return Age(birthdate, DateTime.Now);
}

/// <summary>Calcule l'âge en nombre d'années par rapport à une date de référence.</summary>
/// <param name="birthdate">Date de naissance de la personne. Si cette date est supérieure à 
/// la date de référence, la valeur retournée sera négative.</param>
/// <param name="refDate">Date de référence. Si cette date est inférieure à la date de 
/// naissance, la valeur retournée sera négative.</param>
/// <returns>L'âge en nombre d'années.</returns>
static int Age(DateTime birthdate, DateTime refDate) {
  return (int)(refDate.Subtract(birthdate).Days / 365.25);
}

Snippets en rapport avec : Date, Age



Codes sources en rapport avec : Date, Age

{PHP} FONCTION QUI CALCULE L'AGE A PARTIR D'UNE DATE DE NAISSANCE
Cette fonction permet de savoir l'âge en fonction d'une date de naissance au format français jj/mm/a...

{PHP} FONCTION QUI RETOURNE L'AGE AVEC LE JOUR/MOIS/ANNÉE DE NAISSANCE
Ce code peut être utile pour retourner l'âge d'un membre sur votre site ou sur votre forum par exemp...

{ASP / ASP.NET} CALCUL DE L'AGE D'UNE PERSONNE (ASP VBSCRIPT)
Calcul de l'age d'une personne à partir de sa date de naissance donnée en paramettre en ASP VBScript...

{C / C++ / C++.NET} CALCUL AGE
Ce code calcul l'age en decomposant d'abord tout en jours. Je pense que le code gère bien les année...

{PHP} FORMATER DES MILLISECONDES AU FORMAT HH:MM:SS:MMM
Bizarre, mais je n'ai pas trouvé de soluce à mon besoin express. Je me suis donc fait la fonction v...

{Delphi} TIMESERVER V1.0.3
Un programme ridiculement simple par rapport au service qu'il rend ! Se connecte à des serveurs de ...

{PHP} CLASSE DATETIME AVEC TRADUCTION
Début de class DateTime avec prise en charge multi-langue. Pour le moment seul la fonction de for...

{PHP} DIFFÉRENCE ENTRE DEUX DATE EN JOURS (LISTE RÉCUPÉRÉE DANS UN TABLEAU)
Salut J'ai cherché une fonction permettant de récupérer une liste de date entre deux dates donnée...

{C / C++ / C++.NET} CALENDRIER (WIN64)
Un calendrier pour Windows x64. Pur C et ASM, frénétiquement CLASSieux et antiGOTO passent leur che...

{Visual Basic, VB6, VB.NET, VB 2005} SIMULATEUR TRIAL VERSION (BASE DE TRAVAIL POUR DÉBUT)
voilà une petite source de base qui permet de mettre en oeuvre un trial version. un fichier sera gé...