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 28 29 30 31
| Sub Main(args As String())
DateDiff(New DateTime(2012, 1, 1), New DateTime(2013, 2, 2)) 'La différence entre 01/01/2012 et 02/02/2013 est de 1 an, 1 mois, et 1 jour.
DateDiff(New DateTime(2012, 12, 31), New DateTime(2013, 1, 1)) 'La différence entre 31/12/2012 et 01/01/2013 est de 0 an, 0 mois, et 1 jour.
DateDiff(New DateTime(2012, 11, 30), New DateTime(2013, 1, 1)) 'La différence entre 30/11/2012 et 01/01/2013 est de 0 an, 1 mois, et 1 jour.
DateDiff(New DateTime(1992, 1, 15), New DateTime(1992, 2, 1)) 'La différence entre 15/01/1992 et 01/02/1992 est de 0 an, 0 mois, et 17 jour.
DateDiff(New DateTime(1992, 1, 15), New DateTime(1992, 1, 15)) 'La différence entre 15/01/1992 et 15/01/1992 est de 0 an, 0 mois, et 0 jour.
DateDiff(New DateTime(1992, 1, 16), New DateTime(1992, 1, 15)) 'La différence entre 15/01/1992 et 16/1/1992 est de 0 an, 0 mois, et 1 jour.
End Sub
Private Sub DateDiff(date1 As DateTime, date2 As DateTime)
If (date1 > date2) Then
DateDiff(date2, date1)
Exit Sub
End If
Dim year As Integer = date2.Year - date1.Year
Dim month As Integer = date2.Month - date1.Month
Dim day As Integer = date2.Day - date1.Day
If month < 0 Then
year -= 1
month += 12
End If
If day < 0 Then
month -= 1
day += DateTime.DaysInMonth(date1.Year, date1.Month)
End If
Console.WriteLine("La différence entre {0:d} et {1:d} est de {2} an, {3} mois, et {4} jour.", date1, date2, year, month, day)
End Sub |
Partager