Datum Auslesen

  • Hey, ich bekomm mit den _IEFunktionen, und ein Paar Stringfunktionen ein Datum in einem String gespeichert.

    Etwa:

    Zitat

    "12.05.2009 11:17"

    Ohne die "".

    Wie kann ich das jetzt in ein Brauchbares Datum umwandeln, und checken, ob der Beitrag schon mehr als 24 Stunden zurück liegt?
    Denk da an irgentwas mit @Hour, etc, aber ich hab keine Ahnung, wie ich den Oberen String in Variablen zerlegen kann.

  • Hey, ich bekomm mit den _IEFunktionen, und ein Paar Stringfunktionen ein Datum in einem String gespeichert.

    Ohne die "".

    Wie kann ich das jetzt in ein Brauchbares Datum umwandeln, und checken, ob der Beitrag schon mehr als 24 Stunden zurück liegt?
    Denk da an irgentwas mit @Hour, etc, aber ich hab keine Ahnung, wie ich den Oberen String in Variablen zerlegen kann.

    Hallo,

    hier mal ein Beispiel ... damit hast du das Datum und die Uhrzeit so das du mit mitgelieferten UDFs von Autoit "Date.au3" weiter rechnen kannst.

    Spoiler anzeigen
    [autoit]

    $IEDateTime = "12.05.2009 11:17"

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

    ;in Datum und Uhrzeit Zerlegen
    $temp1 = StringSplit($IEDateTime," ")

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

    ;Datum in 3 Teile zuerlegen
    $temp2 = StringSplit($temp1[1],".")
    ;Zeit in 2 Teile zuerlegen ist eigenlich nicht nötig dient nur der Ilustration
    $temp3 = StringSplit($temp1[2],":")

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

    msgbox(0,"Augabe im NowCalc() Format", $temp2[3] & "/" & __Pad($temp2[2]) & "/" & __Pad($temp2[1]) & " " & __Pad($temp3[1]) & ":" & __Pad($temp3[2]) & ":00")

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

    Func __Pad($Val)
    If StringLen($Val) = 2 Then
    Return $Val
    Else
    Return "0" & $Val
    EndIf
    EndFunc ;==>__Pad

    [/autoit]
  • Einfacher geht's mit StringRegExp:

    [autoit]


    #include <Date.au3>
    $string = "12.05.2009 11:17"
    $string = StringRegExpReplace($string, "(\d{2})\.(\d{2})\.(\d{4}) (\d{2}):(\d{2})", "$3/$2/$1 $4:$5:00")
    MsgBox(0, 0, "Differenz in Stunden: " & _DateDiff("h", _NowCalc(), $string))

    [/autoit]

    Ja einfach und auch schneller ... aber RegEx ist immer Schwere kost wenn man damit anfängt.

  • Also das mit StringRegExp ist ehrlich nicht gerade leicht und ich vermisse eine sehr ausführlich Erklärung. Die Hilfe sagt zwar schon viel, aber darüber meine ich könnte man sehr viel mehr schreiben und dennoch würden immer wieder Fragen auf kommen. Es fehlen halt mehr Beispiele.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr