Vergleich Datum

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Vergleich Datum

    Hallo,

    Ich möchte überprüfen, ob das aktuelle Datum zwischen $startdate und $enddate liegt.

    Dazu nutze ich folendes Code Snipplet:

    $current_time = date('Y-m-d H:i:s');

    if (strtotime($startdate) < strtotime($current_time) && strtotime($current_time) < strtotime($enddate)) {
    echo "active";
    }

    Jedoch erhalte ich irgendwie falsche Ergebnisse.
    Unter anderem, wenn das Enddatum mehr als 10 Jahre in der Zukunft liegt .

    Vielleicht kann mir jemand weiterhelden, was ich falsch mache, bzw. wie mann es besser machen kann.

    Gruss,

    Christian

  • #2
    In welchem Format liegen denn $starttime und $endtime vor ? Sind die im englischen Format ? Das wäre für strtotime zwingend notwendig...
    Ggf liessen sich Vergleiche einfacher anstellen wenn die Start-und Endzeit bereits als Timestamp vorliegen würden.
    PHP-Code:
    $current_time date('Y-m-d H:i:s');
    if (
    strtotime($startdate)...
    //macht m.M. nicht viel Sinn verwende doch einfach time() und verzichte auf date() 
    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hallo,

      die Daten kommen aus ner MySql DB und liegen wie in dem Format von

      $current_time vor.

      Ein Beispiel für ein Datum ist:

      2006-07-04 09:39:33

      Gruss,

      Christian

      Kommentar


      • #4
        PHP-Code:
        $startdate strtotime($startdate);
        $enddate strtotime($enddate);
        if(
        $startdate<time() && time()<$enddate){
            
        //mach was

        Funzt der obige Schnippel denn ?

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Hallo,

          wie schon im ersten Beitrag geschrieben, funktioniert es soweit richtig.

          Nur je weiter das Datum in der Zukunft liegt, desto schlimmer wird es.
          Ich dachte schon, es kommt zum Überlauf beim strtotime($enddatum) ?
          Aber mal funktioniert es und mal nicht. Aber das Format des Datums ist korrekt.

          Aber irgendwie stehe ich vor einem, na ja einem Haufen Rätsel

          Gruss,

          Christian

          Kommentar


          • #6
            Also jetzt poste mal die Rohdaten, bei denen es nicht klappt. Also $enddate und $startdate.
            Was heisst eigentlich nicht funzt ? Geht der Vergleich in die Hose ? Oder was geht sonst schief ?

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar

            Lädt...
            X