Mit Datum rechnen

  • Bräuchte mal bitte einen Tipp.

    Und zwar möchte ich gerne zwei Daten die Datum enthalten miteinander Vergleichen.

    Das sollte in etwa so aussehen:

    if _NowDate () & " " & _NowTime() < $Array[23] then ...

    Allerdings funktioniert das leider nicht so wie es soll.

    Der Inhalt im Array sieht dabei z.b. so aus: 02.09.2017 10:14:25

  • Habs jetzt mal so versucht:

    Local $iDateCalc = _DateDiff('s', $Array[23], _DateTimeFormat(_NowCalc(), 0))

    msgbox(48, "Hinweis!", "Diff: " & $iDateCalc & " " & _DateTimeFormat(_NowCalc(), 0))

    Bekomme dabei aber immer 0 heraus.

    Muß ich noch irgendwie festlegen das es sich bei dem Inhalt im Array um ein Datumsformat handelt?

    • Offizieller Beitrag

    wie bekomme ich das Datumsformat von yyyy.mm.dd nach dd.mm.yyyy ?

    Mit StringRegExp! ;)

    Hier mal zwei kleine Funktionen, die das umwandeln übernehmen:

  • Habs jetzt mal so versucht:

    Local $iDateCalc = _DateDiff('s', $Array[23], _DateTimeFormat(_NowCalc(), 0))

    msgbox(48, "Hinweis!", "Diff: " & $iDateCalc & " " & _DateTimeFormat(_NowCalc(), 0))

    Bekomme dabei aber immer 0 heraus.

    Poste doch bitte mal ein lauffähiges Testskript ! Was steht denn in $Array[23] drin ?

    Bei vernünftigen Werten klappt es auch mit _DateDiff() , siehe :

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    • Offizieller Beitrag

    Danke, aber die Funktion _DateTimeFormat macht das schon. Oder rechnet das Teil vielleicht intern immer noch falsch?

    Nicht die Funktion rechnet falsch, sondern Du benutzt sie falsch!

    Die Funktion erwartet "yyyy/mm/dd hh:mm:ss" und Du übergibst die Rückgabe von "_DateTimeFormat".

    Benutze meine obige Funktion zum umwandeln ins "Calc-Datum" und benutze damit dann "_DateDiff".

  • Danke, aber die Funktion _DateTimeFormat macht das schon. Oder rechnet das Teil vielleicht intern immer noch falsch?

    Wurde inzwischen von Oscar bereits beantwortet, aber hier ein Nachtrag (hatte ich gerade fertig) ;):

    -> _DateTimeFormat(_NowCalc(), 0) liefert : 22.02.2019 12:30:00 also Format : DD.MM.YYYY HH:MM:SS

    -> _DateDiff() erwartet aber das Format : YYYY/MM/DD HH:MM:SS

    ==> Folge :

    Wenn Du mal @error von _DateDiff() auswertest, dann siehst Du : Error 3 = Ungültiges Enddatum

    Aus der Hilfe :

    Rückgabewert _DateDiff() :

    Erfolg : Differenz zwischen Anfangs- und Enddatum.Fehler : 0 und setzt @error auf ungleich 0

    @error : 1 = $sType ungültig , 2 = $sStartDate ungültig , 3 = $sEndDate ungültig

    Bekomme dabei aber immer 0 heraus.

    Bei Fehler -> Rückgabe von 0 und setzt @error auf ungleich 0

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    2 Mal editiert, zuletzt von Musashi (22. Februar 2019 um 13:25)