Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Zeit innerhalb der letzten 24 Stunden

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Zeit innerhalb der letzten 24 Stunden

    Hallo

    also, ich hole einen Datetime-Wert aus der Datenbank (MySQL).
    Wie kann ich herausfinden, ob dieses Datum laenger als 24 Stunden her ist?

    Gruesse
    Maweki


  • #2
    Z.B. aus dem Datum einen Timestamp machen und vergleichen.

    Gruß
    phpfan

    Kommentar


    • #3
      kann ich da einfach die differenz bilden und auf kleiner 24*60*60 pruefen?

      Bin eigentlich Delphianer, da geht sowas nich. Da wuerde ich ne fertige Funktion wie hours_between() benutzen...

      Kommentar


      • #4
        Zitat von maweki
        kann ich da einfach die differenz bilden und auf kleiner 24*60*60 pruefen?
        Einfach mal ausprobieren!

        Gruß
        phpfan

        Kommentar


        • #5
          Empfehlenswert ist es, direkt in der SQL-Abfrage anzugeben, dass auch nur die Datensätze ermittelt werden, die nicht älter als 24 Stunden sind. Dazu kann man sehr einfach die MySQL-Funktion DATE_SUB() verwenden:
          Code:
              ...
          WHERE
              spalte BETWEEN DATE_SUB(NOW(), INTERVAL 24 HOUR) AND NOW()

          Kommentar


          • #6
            Naja, es soll im Grunde genommen nur das, was innerhalb der letzten 24 Stunden war extra markiert werden. Kann man das mit in die Abfrage einbauen, dass ein Flag gesetzt wird oder sowas?

            Kommentar


            • #7
              Zitat von maweki
              Kann man das mit in die Abfrage einbauen, dass ein Flag gesetzt wird oder sowas?
              IF()
              http://dev.mysql.com/doc/refman/4.1/...functions.html

              Kommentar


              • #8
                In dieser Reihenfolge ausprobieren
                SELECT NOW() - Interval 1 day
                SELECT Now(), NOW() - Interval 1 day
                SELECT (Now() < NOW() - Interval 1 day) as alt
                SELECT (Now()-Interval 2 day < NOW() - Interval 1 day) as alt

                Der Vergleich liefert entweder 0, wenn das linke Datum nicht vor dem rechten liegt und 1 wenn es das tut.

                SELECT x,y,(z < Now() - Interval 1 day) as alt FROM ....

                Kommentar

                Lädt...
                X