Sub ErrechneZeit(date1 As String,Time1 As String)
Dim Ergebnis As String
Dim AltesDatum, NeuesDatum, Vergangen As Long
AltesDatum = DateTime.DateParse(date1) + (DateTime.TimeParse(Time1) Mod DateTime.TicksPerDay)
AltesDatum = AltesDatum + (DateTime.TimeZoneOffset * DateTime.TicksPerHour)
NeuesDatum = DateTime.Now
Vergangen = NeuesDatum - AltesDatum
Dim Jahre, Monate, Wochen, Tage, Stunden, Minuten As Long
Jahre = Vergangen / (DateTime.TicksPerDay * 365)
Vergangen = Vergangen - (Jahre * DateTime.TicksPerDay * 365)
Monate = Vergangen / (DateTime.TicksPerDay * 30)
Vergangen = Vergangen - (Monate * DateTime.TicksPerDay * 30)
Wochen = Vergangen / (DateTime.TicksPerDay * 7)
Vergangen = Vergangen - (Wochen * DateTime.TicksPerDay * 7)
Tage = Vergangen / DateTime.TicksPerDay
Vergangen = Vergangen - (Tage * DateTime.TicksPerDay)
Stunden = Vergangen / DateTime.TicksPerHour
Vergangen = Vergangen - (Stunden * DateTime.TicksPerhour)
Minuten = Vergangen / DateTime.TicksPerMinute
If Jahre > 0 Then
If Jahre = 1 Then
Ergebnis= Ergebnis & Jahre & " Jahr, "
Else
Ergebnis= Ergebnis & Jahre & " Jahren, "
End If
End If
If Monate > 0 Then
If Monate = 1 Then
Ergebnis= Ergebnis & Monate & " Monat, "
Else
Ergebnis= Ergebnis & Monate & " Monaten, "
End If
End If
If Wochen > 0 Then
If Wochen = 1 Then
Ergebnis= Ergebnis & Wochen & " Woche, "
Else
Ergebnis= Ergebnis & Wochen & " Wochen, "
End If
End If
If Tage > 0 Then
If Tage = 1 Then
Ergebnis= Ergebnis & Tage & " Tag, "
Else
Ergebnis= Ergebnis & Tage & " Tagen, "
End If
End If
If Stunden > 0 Then
If Stunden = 1 Then
Ergebnis= Ergebnis & Stunden & " Stunde und "
Else
Ergebnis= Ergebnis & Stunden & " Stunden und "
End If
End If
If Minuten > 0 Then
If Minuten = 1 Then
Ergebnis= Ergebnis & Minuten & " Minute!" & CRLF
Else
Ergebnis= Ergebnis & Minuten & " Minuten!" & CRLF
End If
End If
Return Ergebnis
End Sub