Array Daten nach Datum und Uhrzeit sortieren

  • Hallo ,

    ich habe folgendes Problem .
    Ich habe ein Array mit mehreren Datum und Uhrzeitangaben . Diese möchte ich im Array aufsteigend sortieren .

    $Date[1] = "27-02-2009 18-20-00"
    $Date[2] = "22-02-2009 13-00-00"
    $Date[3] = "25-02-2009 20-20-00"
    $Date[4] = "22-02-2009 20-30-00"
    $Date[5] = "22-02-2009 20-05-00"
    $Date[6] = "27-02-2009 14-20-00"

    soll dann

    $Date[1] = "22-02-2009 13-00-00"
    $Date[2] = "22-02-2009 20-05-00"
    $Date[3] = "22-02-2009 20-30-00"
    $Date[4] = "25-02-2009 20-20-00"
    $Date[5] = "27-02-2009 14-20-00"
    $Date[6] = "27-02-2009 18-20-00"

    werden .

    Gruß Ede

    Einmal editiert, zuletzt von CrazyEde (22. Februar 2009 um 15:59)

  • [autoit]

    #include <Array.au3>

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

    Local $asDate[7] = [6]
    $asDate[1] = "27-02-2009 18-20-00"
    $asDate[2] = "22-02-2009 13-00-00"
    $asDate[3] = "25-02-2009 20-20-00"
    $asDate[4] = "22-02-2009 20-30-00"
    $asDate[5] = "22-02-2009 20-05-00"
    $asDate[6] = "27-02-2009 14-20-00"

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

    _ArrayDisplay($asDate, "Unsorted")
    _ArraySort($asDate, 0, 1)
    _ArrayDisplay($asDate, "Sorted")

    [/autoit]
    • Offizieller Beitrag

    Und damit es auch im März noch richtig sortiert: :D

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    Local $asDate[7] = [6]
    $asDate[1] = "27-02-2009 18-20-00"
    $asDate[2] = "22-02-2009 13-00-00"
    $asDate[3] = "25-02-2009 20-20-00"
    $asDate[4] = "01-03-2009 20-30-00"
    $asDate[5] = "22-02-2009 20-05-00"
    $asDate[6] = "27-02-2009 14-20-00"
    _Sort($asDate)
    _ArrayDisplay($asDate, "Sorted")

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

    Func _Sort(ByRef $asDate)
    For $i = 1 To UBound($asDate) - 1
    $asDate[$i] = StringRegExpReplace($asDate[$i], '(\d{2})-(\d{2})-(\d{4})(.+)', '$3-$2-$1$4')
    Next
    _ArraySort($asDate, 0, 1)
    For $i = 1 To UBound($asDate) - 1
    $asDate[$i] = StringRegExpReplace($asDate[$i], '(\d{4})-(\d{2})-(\d{2})(.+)', '$3-$2-$1$4')
    Next
    EndFunc

    [/autoit]
  • Hallo Oscar ,

    da zerbreche ich mir den Kopf über eine Monatsübergreifende Lösung und Du hast sie schon .

    Vielen Dank , werde es gleich ausprobieren .

    MFG Ede

    Einmal editiert, zuletzt von CrazyEde (23. Februar 2009 um 11:29)