Datum Uhrzeit Vergleich

  • Hallo zusammen

    ich habe folgendes Problem:

    ich bekomme als Datum / Uhrzeit den Wert ==> "Fri Jul 6 09:28:26 2012" von einem Time Server

    Ich möchte diesen Wert mit dem aktuellen Datum / Uhrzeit vergleichen.

    Falls eine Differenz von mehr als 60 Sekunden zu dem Time Server existiert, soll das Datum vom Time Server gesetzt werden.

    Gibt es vielleicht bereits eine UDF die so etwas ermöglicht?


    Gruss

    johny

  • Windows macht das doch sowieso, doppelklick mal auf die Uhr rechts unten...
    Oder seh ich das falsch ? ?(

    Wer andern eine Bratwurst brät
    der hat ein Bratwurstbratgerät.

  • Teste es mal damit:

    [autoit]


    #include <Array.au3>
    #include <Date.au3>
    $sTime = "Fri Jul 6 09:28:26 2012"

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0, "Test", DateDiff_Special($sTime) & " Sekunden differenz!")

    [/autoit][autoit][/autoit][autoit]

    Func DateDiff_Special($sTime)
    Local $aMonth[12] = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dez"]
    Local $aTime = StringSplit($sTime, " ", 2)
    If @error Or UBound($aTime) <> 5 Then Return SetError(1, 0, -1)
    Local $sYear = $aTime[4]
    Local $sMonth = StringFormat("%02d", _ArraySearch($aMonth, $aTime[1]) + 1)
    Local $sDay = StringFormat("%02d", $aTime[2])
    Local $sZeit = $aTime[3]
    Local $iDiff_Sec = _DateDiff("s", $sYear & "/" & $sMonth & "/" & $sDay & " " & $sZeit, _NowCalc())
    If @error Then Return SetError(2, 0, -1)
    Return $iDiff_Sec
    EndFunc

    [/autoit]


    Wenn du willst, kannst du noch einige Checks hinzufügen.

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Hallo UEZ

    vielen Dank für die schnelle Beantwortung meiner Frage:

    ich habe noch ein kleines Problem:

    In dem String den ich vom Time Server erhalte habe ich nun festgestellt dass dieser nicht immer gleich ist:

    Wenn der Monatstag einstellig ist (1-9) dann sind 2 Leerzeichen zwischen dem Wert Monat und dem Monatstag

    Beispiel:
    Fri Jul 6 09:28:26 2012

    Richtige wäre:

    Fri Jul 6 09:28:26 2012

    Gibt es eine Möglichkeit den String so zu formatieren dass zwischen den einzelnen Werten immmer nur 1 Leerzeichen ist.

    2 Mal editiert, zuletzt von johny1099 (6. Juli 2012 um 13:14)

  • Hallo AspirinJunkie

    danke für die schnelle Beantwortung meiner Frage:

    Ich hatte leider die Hilfe nicht korrekt gelesen. Dachte man kann nur alle bestehenden Leerzeichen entfernen mit StringStripWS

    Gruss

    johny