IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Calcul age d'une personne


Sujet :

VB.NET

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 296
    Points : 81
    Points
    81
    Par défaut Calcul age d'une personne
    Bonjour,

    Comment calculer l'age d'une personne ayant une date Naissance sous format string, de la forme 19600428 ?
    J'essaie de m'appuyer sur la fonction Datdiff mais elle aura comme paramètres d'entrée deux champs Date . pour mon cas, j'ai un string et une date( = date courante). J'ai essayé de convertir le champs Naissance qui est entier sous format Date mais j'obtiens un 'InvalidCastException'.

  2. #2
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Bonjour,
    Si tu peux changer le type de ta date c'est mieux.
    Tu peux toujours essayer de le faire à la barbare, c'est à dire que tu utilises le champs extract sur ton string pour récupérer le jour, le mois et l'année. Que tu convertis par la suite comme il le faut.
    Pour faire la différence, tu n'auras plus qu'à faire entre la date convertie et date.now.

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    date.trycast ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    327
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 327
    Points : 402
    Points
    402
    Par défaut
    Bonjour,
    Je pense que tu as une InvalidCastException parce que la date et sous la forme anglaise alors que toi tu dois travaillé dans un environnement français.
    Il doit y avoir une méthode qui convertit proprement les dates anglaises en date française.
    Je n'ai pas plus d'information sur ce sujet.
    A bientôt

  5. #5
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Méthode DateTime.ParseExact, puisque le format est figé au niveau de la chaîne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime d = DateTime.ParseExact("19600428", "yyyyMMdd", null);
    C'est du C#, mais cela reste compréhensible

  6. #6
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Tu peut utiliser
    @++

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Voilà ce que j'aurais fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    'Ta date en string
    Dim date1str As String = "19600428"
    'Convertion de ta date
    Dim date1 As Date = Date.ParseExact(date1str, "yyyymmdd", Nothing)
    'Calcul de l'age de la personne
    Dim age As Long = DateDiff(DateInterval.Year, date1, Date.Now)
    En espérant t'avoir aider.
    Bonne journée!

Discussions similaires

  1. Calculer l'age d'une personne
    Par titoumimi dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 19h09
  2. [WD14] Calcul de l'age d'une personne automatiquement
    Par Gzorglub dans le forum WinDev
    Réponses: 13
    Dernier message: 13/01/2010, 11h59
  3. calculer l'age d'une personne
    Par Daniela dans le forum Débuter
    Réponses: 4
    Dernier message: 13/07/2009, 14h26
  4. Calcul de l'age d'une personne
    Par batstoon dans le forum Oracle
    Réponses: 2
    Dernier message: 04/12/2006, 13h50
  5. Calculer l'age d'une personne
    Par Oberown dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 27/09/2005, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo