Ankündigung

Einklappen
Keine Ankündigung bisher.

Kleinstes und größtes Datum ermitteln.

Einklappen

Neue Werbung 2019

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

  • Kleinstes und größtes Datum ermitteln.

    Hallo,

    Ich habe in einer Datenbank verschiedene Datumswerte im Format :

    dd.mm.YYYY

    Davon habe ich beispielsweise für ein Produkt 10 Stück.

    Um den Zeitraum für ein Produkt zu ermittelm müsste ich nun das kleinste und das größte Datum ermitteln. Also das was am ältesten und das aktuellste.

    Wenn ich die Daten mit <> vergleiche, bekomme ich nur Müll weil er aus 10.02.1971 wohl 10.02 macht.

    Ich habe es dann mit der Datefunktion probiert. Bin aber auch gescheitert. Er macht die selbe falsche Ausgabe:

    Code:
    <?PHP
    $datum1="10.02.1971";
    $datum2="11.01.1970";
    
    if (date("d.m.Y",$datum1)>date("d.m.Y",$datum2))
    {
    echo "Datum 1 ist größer !";
    }
    else
    {
    echo "Datum 2 ist größer !";
    }
    ?>
    Hat jemand eine Idee wie ich aus 10 Daten das älteste und das neußte bekomme ?

    Gruss,

    Werner
    * * * * COMMODORE C64 BASIC V2 * * * *
    64K RAM SYSTEM 38911 BASIC BYTES FREE
    READY

  • #2
    ch habe in einer Datenbank verschiedene Datumswerte im Format :

    dd.mm.YYYY
    Und der Typ des Feldes ist? Kannst Du auf evtl vorhandene Datumsfunktionen des dbms zurückgreifen?

    Kommentar


    • #3
      Jou

      Also der Typ des DB Feldes ist Text.

      Ich habe es schon mit einer SELECT Anweisung mit GROUP BY versucht. Aber da wird der Select befehl so lang, das die DB da meckert.

      Problem ist das ich via ODBC auf Oracle zugreifen muss.

      Also muss ich das Datumsproblem per PHP lösen.

      Gruss,

      Werner
      * * * * COMMODORE C64 BASIC V2 * * * *
      64K RAM SYSTEM 38911 BASIC BYTES FREE
      READY

      Kommentar


      • #4
        Oracle kennt doch auch die Datentypen DATE, TIMESTAMP und weitere.
        Darauf läßt sich dann auch GREATEST()/LEAST anwenden bzw MAX()/MIN().

        Ansonsten zum ersten Post
        Code:
        <?PHP
        $datum1="10.02.1971";
        $datum2="11.01.1970";
        
        if (date("d.m.Y",$datum1)>date("d.m.Y",$datum2))
        {
        echo "Datum 1 ist größer !";
        }
        else
        {
        echo "Datum 2 ist größer !";
        }
        ?>
        date() nimmt einen Unixzeitstempel als zweiten Parameter auf.
        Das ist ein Zahlenwert, der die Sekunden seit Anfang der Epoche (1.1.1970) angibt. Keine Zeichenkette mit einer Datumsdarstellung.
        siehe: http://www.php.net/date
        http://www.php.net/time
        http://www.php.net/strtotime

        Kommentar


        • #5
          http://www.phpfriend.de/forum/ftopic22603.html

          Kommentar

          Lädt...
          X