Hallo zusammen
ich würde gerne die Anzahl der Tage zwischen zwei Daten berechnen, wobei es eigentlich nur noch hängt wenn ein Jahreswechsel besteht.
days funktioniert nur innerhalb eines Jahres, von Dezember 2021 auf Januar 2022 ergibt es 0.
in der if Abfrage konnte ich das Problem von Dezember auf die Monate des folge Jahres lösen, in dem ich einfach das Ergebnis von days3 von der Anzahl der Tage im Dezember (31) abziehe und dann die Tage des nächsten Jahres hinzufüge.
ist aber nur eine unbefriedigende Notlösung, da wenn das Startdatum vor Dezember liegt das ganze nicht mehr richtig berechnet wird
vom 28 September 2021 bis zum 18 Februar gibt es dann das gleiche Ergebnis wie vom 28 Dezember bis zum 18 Februar
Auch eine Variante mit 365 - days2 würde alle 4 Jahre einen fehler aufweisen wegen des Schaltjahres ;-)
Welche Lösung gibt es
Danke Werner
ich würde gerne die Anzahl der Tage zwischen zwei Daten berechnen, wobei es eigentlich nur noch hängt wenn ein Jahreswechsel besteht.
C#:
Private Sub DateTimePicker3_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker3.ValueChanged
Dim days As New Integer
Dim days2 As New Integer
Dim days3 As New Integer
Dim days4 As New Integer
days = DateTimePicker3.Value.DayOfYear - DateTimePicker1.Value.DayOfYear
days2 = DateTimePicker3.Value.DayOfYear
days3 = DateTimePicker1.Value.Day
days4 = DateTimePicker3.Value.DayOfYear
TxtAnzahlTage.Text = days.ToString()
If Val(TxtAnzahlTage.Text) < 0 Then
TxtAnzahlTage.Text = (31 -days3.ToString() + days4.ToString())
End If
End Sub
days funktioniert nur innerhalb eines Jahres, von Dezember 2021 auf Januar 2022 ergibt es 0.
in der if Abfrage konnte ich das Problem von Dezember auf die Monate des folge Jahres lösen, in dem ich einfach das Ergebnis von days3 von der Anzahl der Tage im Dezember (31) abziehe und dann die Tage des nächsten Jahres hinzufüge.
ist aber nur eine unbefriedigende Notlösung, da wenn das Startdatum vor Dezember liegt das ganze nicht mehr richtig berechnet wird
vom 28 September 2021 bis zum 18 Februar gibt es dann das gleiche Ergebnis wie vom 28 Dezember bis zum 18 Februar
Auch eine Variante mit 365 - days2 würde alle 4 Jahre einen fehler aufweisen wegen des Schaltjahres ;-)
Welche Lösung gibt es
Danke Werner