Datum vergleichen und subtrahieren

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

  • Datum vergleichen und subtrahieren

    Hallo,

    Ich suche eine Möglichkeit wie ich folgendes realisieren kann:

    Ich lese aus meiner Datenbank ein Datumsfeld aus und möchte es anschliessend mit dem aktuellen Datum vergleichen und anschliessend soll eine Ausgabe erfolgen in der steht, wie gross die Differenz zwischen dem Datum aus der Datenbank und dem aktuellen Datum ist.

    Beispiel: in der Datenbank steht 2004-01-23

    Da ja heute der 2004-01-23 ist, sollte als Ausgabe 0 stehen.
    Wäre heute der 2004-01-20, so sollte eine 3 ausgegeben werden.

    Vielen Dank

  • #2
    Naja, wenn du das Datum so in der DB speicherst, könntest du es mit irgendeiner string funktion in einzele werte trennen, in diesem fall bietet sich sicher explode() an (EDIT: wenns ein MySQL-Timespamp ist: substr), und dann die werte einzeld zubtrahieren, umrechnen und zusammenzählen.
    Zuletzt geändert von Tartax; 23.01.2004, 15:58.
    Die Musikreview Seite

    hi, i'm a signature virus. copy me into your signature to help me spread.

    Kommentar


    • #3
      code

      könntest du mir das vielleicht als beispiel hier mal posten?
      bin noch ziemlich neu in php und es wäre nett, wenn ich ein kleines Beispiel hätte

      Kommentar


      • #4
        Mhh, ich werde dir jetzt wohl kaum hier die Lösung zusammenbasteln, ist mir zuviel arbeit.... aber du könnetst z.b.:
        - Dir die FKTs explode und substr mal anschauen (im Manual)
        - Dich mit den Datums fkts vertraut machen, die helfen dir da! Weil man sich das nicht so einfach umrechnen kann. da wir dank Julius mal 30 und mal 31 Tage im Monat haben, bzw. 29, desweiteren gibt es noch Schlatjahre... usw.
        Die Musikreview Seite

        hi, i'm a signature virus. copy me into your signature to help me spread.

        Kommentar


        • #5
          hmm,

          das ganze sollte sich doch auch innerhalb der query realisieren lassen, ohne ewige umwege ...
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Ja, das wäre ja nur logisch wenn sich der MySQL timestamp auch im MySQL query formatieren ließe.....

            Aber in meinen Augen sind MySQL timestamps eh blödsinn...
            Die Musikreview Seite

            hi, i'm a signature virus. copy me into your signature to help me spread.

            Kommentar


            • #7
              Original geschrieben von Tartax
              Ja, das wäre ja nur logisch wenn sich der MySQL timestamp auch im MySQL query formatieren ließe.....
              dann schau dir mal UNIX_TIMESTAMP() an ... da lässt sich in einer query schön mit rechnen
              Kissolino.com

              Kommentar


              • #8
                Ja, Unix Timestamps sind ja auch das womit ich immer rechne, aber IceT hat ja nen problem mit seinen MySQl Timestamps, so wie ich da das verstehe!!!
                Die Musikreview Seite

                hi, i'm a signature virus. copy me into your signature to help me spread.

                Kommentar


                • #9
                  Beispiel: in der Datenbank steht 2004-01-23
                  mysql-timestamp? abgesehen davon, gehts auch mit dem.
                  EDIT:
                  mein post bezog sich auch auf die sql-funktion
                  Kissolino.com

                  Kommentar


                  • #10
                    Okay, du hast recht, es ist überhauot kein standartisierter Timestamp....
                    Aber UNIXTIMESTAP bringt da trotzdem nix, er muß irgendeine stringunktion verwenden... oder irre ich mich da?
                    EDIT:

                    okay, hab das jetzt mit FROM_UNIXTIOMESTAMP verwechselt

                    Die Musikreview Seite

                    hi, i'm a signature virus. copy me into your signature to help me spread.

                    Kommentar


                    • #11
                      Re: Datum vergleichen und subtrahieren

                      Original geschrieben von IceT
                      Da ja heute der 2004-01-23 ist, sollte als Ausgabe 0 stehen.
                      Wäre heute der 2004-01-20, so sollte eine 3 ausgegeben werden.
                      Kapiere das Problem jetzt nicht ganz glaube ich, ansonsten kann ich mir nicht erklaeren warum hier in 9 Stunden keiner auf datediff hingewiesen hat:

                      SELECT DATEDIFF('2004-01-23',curdate());

                      gibt die Differenz zurueck zwischen datenbankdate und dem aktuellen Datum. Ist was anderes gewollt ? Was wollt ihr denn mit irgendwelchen unix timestamps?

                      Rocco
                      Zuletzt geändert von Rocco; 24.01.2004, 00:31.

                      Kommentar


                      • #12
                        He, das mit dem UNIX-Timestamp war Wurzel...
                        Okay, das was ich geschreiben habe hat zwar auch nicht grade vor Sinn gestrozt, aber das liegt an dem Vodka....okay, Nächstesmal sag ich nix.... versprochen
                        Die Musikreview Seite

                        hi, i'm a signature virus. copy me into your signature to help me spread.

                        Kommentar


                        • #13
                          DATEDIFF() was added in MySQL 4.1.1.
                          hat auch (noch) nicht jeder ...
                          Kissolino.com

                          Kommentar

                          Lädt...
                          X