Seite 1 von 1

Zeit oder Datum vergleichen

Verfasst: 13.09.2016 16:01
von schleicher
Um Zeit zu vergleichen habe ich bisher die Stunde und Minute auseinander genommen und einen Vergleich gemacht. Geht es da irgendwie einfacher und schneller, das man gleich den kompletten Wert von %hh:%mm:%ss oder "%dd.%mm.%yyyy vergleicht ?
Also z.B was ist vorher 31.08.2015 oder 01.09.2014 oder was ist vorher 22:15:30 oder 23:17:20

Gibt es da eine bestimmte Formel ?

Re: Zeit oder Datum vergleichen

Verfasst: 13.09.2016 16:15
von RSBasic
Meinst du so?

Code: Alles auswählen

EnableExplicit

Define Date1 = Date(2016, 9, 13, 16, 30, 0)
Define Date2 = Date(2016, 9, 14, 16, 29, 0)

;Uhrzeitvergleich
If FormatDate("%hh%ii%ss", Date1) = FormatDate("%hh%ii%ss", Date2)
  Debug "Uhrzeit 1 und Uhrzeit 2 sind gleich groß"
ElseIf FormatDate("%hh%ii%ss", Date1) > FormatDate("%hh%ii%ss", Date2)
  Debug "Uhrzeit 1 ist größer als Uhrzeit 2"
Else
  Debug "Uhrzeit 2 ist größer als Uhrzeit 1"
EndIf

;Datumvergleich
If FormatDate("%yyyy%mm%dd", Date1) = FormatDate("%yyyy%mm%dd", Date2)
  Debug "Datum 1 und Datum 2 sind gleich groß"
ElseIf FormatDate("%yyyy%mm%dd", Date1) > FormatDate("%yyyy%mm%dd", Date2)
  Debug "Datum 1 ist größer als Datum 2"
Else
  Debug "Datum 2 ist größer als Datum 1"
EndIf

Re: Zeit oder Datum vergleichen

Verfasst: 13.09.2016 16:24
von mhs
RSBasic, ich glaube er meint es anders herum basierend auf einem String, bin mir aber auch nicht sicher.

Code: Alles auswählen

Define.s Uhrzeit1, Uhrzeit2, Datum1, Datum2
Define.i Timestamp1, Timestamp2

Uhrzeit1 = "22:15:30"
Uhrzeit2 = "23:17:20"

Datum1 = "31.08.2015"
Datum2 = "01.09.2014"

;Uhrzeitvergleich
Timestamp1 = ParseDate("%hh:%ii:%ss", Uhrzeit1)
Timestamp2 = ParseDate("%hh:%ii:%ss", Uhrzeit2)

If Timestamp1 = Timestamp2
  Debug "Uhrzeit 1 und Uhrzeit 2 sind gleich groß"
ElseIf Timestamp1 > Timestamp2
  Debug "Uhrzeit 1 ist größer als Uhrzeit 2"
Else
  Debug "Uhrzeit 2 ist größer als Uhrzeit 1"
EndIf

;Datumvergleich
Timestamp1 = ParseDate("%dd.%mm.%yyyy", Datum1)
Timestamp2 = ParseDate("%dd.%mm.%yyyy", Datum2)

If Timestamp1 = Timestamp2
  Debug "Datum 1 und Datum 2 sind gleich groß"
ElseIf Timestamp1 > Timestamp2
  Debug "Datum 1 ist größer als Datum 2"
Else
  Debug "Datum 2 ist größer als Datum 1"
EndIf

Re: Zeit oder Datum vergleichen

Verfasst: 13.09.2016 16:33
von schleicher
Danke an euch beide. Beide Funktionen sehr gut dargestellt. :allright: