Accueil Compétences Patterns Script batch Visual Basic Script Différence entre deux dates

Différence entre deux dates

Clique:
3137

Réponse

Petite fonction pour déterminer en année mois jour la différence entre 2 dates en année, mois et jours.
On part du principe que la

Public Function f_ddp(dtdate1 As Date, dtdate2 As Date) As String
    Dim datetmp As Date
    'pour gérer l'ordre des dates
    if date1 > date2 then
         ' on permute les dates
         datetmp = dtdate2
 
         dtdate2 = dtDate1
    else
        datetmp = dtdate1
    end if
    nban = DateDiff("yyyy", datetmp, dtdate2)  ' détermination du nombre d'annnée
    datetmp = DateAdd("yyyy", nban, datetmp)  ' on ajoute l'année pour qu'il ne reste que des mois en différence
    nbmois = DateDiff("m", datetmp, dtdate2)  ' détermination du nombre de mois
    datetmp = DateAdd("m", nbmois, datetmp) ' on ajoute les mois pour qu'il ne reste que des mois en différence
' si la différence de mois est négative, 
' on supprime une année et ajoute 12 mois pour revenir positif
 
 
 
    If nbmois < 0 Then    
        nban = nban - 1
        nbmois = nbmois + 12
    End If
    nbjrs = DateDiff("d", datetmp, dtdate2)  ' détermination du nombre de jours
    ' si le nombre de jours est négatif
    ' on supprime un mois et on ajoute le 30 jours 
    If nbjrs < 0 Then
        nbmois = nbmois - 1
        '  idéalement on devrait déterminer le nombre de jours du mois 
        ' c'est ici que la fonction est à améliorer
        nbjrs = nbjrs + 30
    End If
    f_ddp = nban &amp; " - " &amp; nbmois &amp; " - " &amp; nbjrs
End Function

Étiquette de cet article