If abfrage mit Datum

  • Hallo

    Ich suche nach einer Möglichkeit, wenn ein bestimmtes Datum (z.B. 02.07.2013) überschritten wurde, dass das Programm immer in die If Then schliefe fällt. Im Moment würde es nur an einem Tag in diese Schlaufe fallen. Die MsgBoxen sind nur beispiele dort kommt natürlich was anderes rein.

    [autoit]


    #include <Date.au3>
    $Result = _NowDate()
    If $Result = ("02.07.2013") Then
    MsgBox(0, "Datum", "Heute ist der 02.07.2013")
    Else
    MsgBox(0, "Datum", "Heute ist der 01.07.2013")
    EndIf

    [/autoit]

    Ich hoffe ihr könnt mir helfen ;)

    Gruss

    Einmal editiert, zuletzt von Chaspel (3. Juli 2013 um 21:49)

  • Dort prüfst du jetzt nur auf Gleichheit, d.h. er würde in den Else-Zweig gehen auch wenn das Datum unterschritten ist. Also was soll er genau prüfen. Im übrigen brauchst du das Datum nicht in Klammern setzen. Das ist doch ein String und keine If-Bedingung.
    Wenn du die Differenz zwischen zwei Daten wissen willst musst du _DateDiff nehmen.

  • [autoit]


    #include <Date.au3>
    #include <String.au3>
    #include <Array.au3>

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

    $Result = _NowDate()
    $date_array = StringSplit($Result,".")
    ;arraydisplay($date_array)

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

    ;$data_array[1] = Tag
    ;$data_array[2] = Monat
    ;$data_array[3] = Jahr

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

    $vordefinierter_tag = "12"
    $vordefinierter_monat = "09"
    $vordefiniertes_jahr = "2013"

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

    If $date_array[1] = $vordefinierter_tag Then
    MsgBox(0, "Datum", "Heute ist der vordefinierte Tag erreicht")
    Endif

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

    If $date_array[2] = $vordefinierter_monat Then
    MsgBox(0, "Datum", "Heute ist der vordefinierte Monat erreicht")
    Endif

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

    If $date_array[3] = $vordefinierter_jahr Then
    MsgBox(0, "Datum", "Heute ist der vordefinierte Jahr erreicht")
    Endif

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

    if $data_array[1] & "." & $data_array[2] = $vordefinierter_tag & "." & $vordefinierter_monat then ;wenn heute tag + heute monat = vordefinierter tag und vordefinierter monat dann......
    msgbox(0,"","Sie haben das heutige Datum erreicht")
    Endif

    [/autoit]
  • Danke für die Anworten:)

    Hier meine Idee (Lösung):

    [autoit]


    #include <Date.au3>
    $date = _NowDate()
    $new = StringRegExpReplace($date, "(\d{2})\.(\d{2})\.(\d{4})","$3$2$1")
    If $new >= "20130702" Then
    MsgBox(0, "Datum", "Heute ist 02.07.2013")
    Else
    MsgBox(0, "Datum", "Heute ist der 01.07.2013")
    EndIf

    [/autoit]
  • Warum so kompliziert?

    So:

    [autoit]

    #include <date.au3>

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

    $sDate = "2013/07/03"
    If _DateDiff("D",_NowCalcDate(),$sDate) > 0 Then MsgBox(0,"","Der " & $sDate & " ist über dem " & _NowCalcDate())

    [/autoit]

    Um Missverständnisse zu vermeiden, mein Name rührt vom Sternenbild und nicht vom Shop her :D


    Rainbow Dash :rock:

    "Das, wobei unsere Berechnungen versagen, nennen wir Zufall." (Albert Einstein)

  • Wenn dann soweit alles geklärt ist, bitte noch das Thema auf "gelöst" setzen.

    Dazu den ersten Beitrag bearbeiten und das Präfix auf "gelöst" setzen;)

    Um Missverständnisse zu vermeiden, mein Name rührt vom Sternenbild und nicht vom Shop her :D


    Rainbow Dash :rock:

    "Das, wobei unsere Berechnungen versagen, nennen wir Zufall." (Albert Einstein)