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 :

Code à vérifier


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut Code à vérifier
    Bonjour à tous

    j'aimerais avoir votre avis sur la fonction que je viens de créer. Je recherchais sur le net une façon de calculer l'âge d'une personne et je ne vois pas beaucoup d'exemples.
    Le problème rencontré se situe au niveau des années bissextiles, je me suis penché sur la question.
    Merci de me donner votre avis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Function QuelAge(ByVal d1 As Date, d2 As Date) As Integer
            Dim int1 As Integer = 0
            Dim NbrJoursBi As Integer = 0
            Dim NbrJourTot As Integer = CInt(DateDiff(DateInterval.Day, d1, d2))
     
            Dim Datedep As Date = d1
            For y As Integer = 0 To CInt(DateDiff(DateInterval.Year, d1, d2)) - 1
                If Date.DaysInMonth(Datedep.Year, 2) = 29 Then
                    NbrJoursBi += 1
                End If
                Datedep = Datedep.AddYears(1)
            Next
     
     
            Return CInt(Math.Floor((NbrJourTot - NbrJoursBi) / 365))
     
        End Function
    bonne journée

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Là, ma batterie est presque vide, mais tu pourrais jeter un œil sur TimeSpan.

    C'est fait spécialement pour les calculs sur des dates et des heures.

    Au bas de la page, il y a justement un exemple sur une différence entre deux dates.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    Salut Clement

    merci de ta réponse.

    J'ai essayé plusieurs tentatives au niveau du timespan, y a peut-être quelque chose que je n'ai pas bien fais, mais lorsque je cherche un changement d'âge à la date d'anniversaire les années bissextiles viennes influencer le calcule. Si tu as un exemple à me montrer je t'en serais gré.

  4. #4
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    DateTime.IsLeapYear(nyear as Integer) est ton ami !!!
    nyear est un nombre entier représentant une année valide (0001 à 9999) du calendrier grégorien...

    exemple MSDN Help Lib :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    Module IsLeapYear
       Public Sub Main()
          For year As Integer = 1994 to 2014
             If DateTime.IsLeapYear(year) Then
                Console.WriteLine("{0} is a leap year.", year)
                Dim leapDay As New Date(year, 2, 29)
                Dim nextYear As Date = leapDay.AddYears(1)
                Console.WriteLine("   One year from {0} is {1}.", _
                                  leapDay.ToString("d"), _
                                  nextYear.ToString("d"))
             End If
          Next
       End Sub
    End Module
    ' The example displays the following output:
    '       1996 is a leap year.
    '          One year from 2/29/1996 is 2/28/1997.
    '       2000 is a leap year.
    '          One year from 2/29/2000 is 2/28/2001.
    '       2004 is a leap year.
    '          One year from 2/29/2004 is 2/28/2005.
    '       2008 is a leap year.
    '          One year from 2/29/2008 is 2/28/2009.
    '       2012 is a leap year.
    '          One year from 2/29/2012 is 2/28/2013.
    à toi de l'adapter à ton calcul d'Age ... (probablement digne d'un agent administratif tatillon qui cherche à savoir si ton Age au jour près ouvre droit à un avantage quelconque ....!!!)
    bon code...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    Hehehe!

    merci MABROUKI

Discussions similaires

  1. Code à vérifier - Marche-t-il ? MERCI.
    Par bilou95 dans le forum Langage
    Réponses: 1
    Dernier message: 27/11/2007, 11h25
  2. Bout de code à vérifier !
    Par HULK dans le forum Langage
    Réponses: 7
    Dernier message: 18/10/2006, 17h09
  3. vérifier du code dans une page html
    Par robert_trudel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/06/2006, 01h17
  4. [Sécurité] Vérifier code crypté en md5
    Par vigon dans le forum Langage
    Réponses: 23
    Dernier message: 17/05/2006, 14h32
  5. Réponses: 12
    Dernier message: 27/04/2006, 23h21

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