Zeit oder Datum vergleichen

Anfängerfragen zum Programmieren mit PureBasic.
schleicher
Beiträge: 214
Registriert: 30.03.2014 19:57
Computerausstattung: Purebasic 5.70
Wohnort: 18314 Löbnitz

Zeit oder Datum vergleichen

Beitrag 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 ?
Purebasic 5.51
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Zeit oder Datum vergleichen

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
mhs
Beiträge: 224
Registriert: 11.01.2009 16:30
Wohnort: Graben
Kontaktdaten:

Re: Zeit oder Datum vergleichen

Beitrag 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
Michael Hack

Michael Hack Software :: Softwareentwicklung | Webentwicklung | IT-Dienstleistungen
www.michaelhacksoftware.de :: www.mh-s.de :: www.michael-hack.de
schleicher
Beiträge: 214
Registriert: 30.03.2014 19:57
Computerausstattung: Purebasic 5.70
Wohnort: 18314 Löbnitz

Re: Zeit oder Datum vergleichen

Beitrag von schleicher »

Danke an euch beide. Beide Funktionen sehr gut dargestellt. :allright:
Purebasic 5.51
Antworten