Mit Datum rechnen

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

  • Mit Datum rechnen

    Hi, kann ich ein Datum von einem anderen abziehen?
    Also z.B. 30.08.2004 - 1.08.2004 = 30

  • #2
    mktime() 's voneinander abziehen, dann hast du die Sekunden zwischen den Zeiten. Und wie man aus Sekunden Tage macht, lernt man sogar in unserem Schulsystem
    Zuletzt geändert von em-!x; 01.09.2004, 18:10.

    Kommentar


    • #3
      auf die idee, die suche zu benutzen bist du nicht gekommen, oder?
      http://www.php-resource.de/forum/sea...der=descending
      Kissolino.com

      Kommentar


      • #4
        auf die idee, die suche zu benutzen bist du nicht gekommen, oder?
        Doch habe aber nichts gefunden was bei mir funktioniert.
        Ich habe:
        PHP-Code:
        $datumheute=date('d.m.y');
        $regdate=$zeile["datum"]; 
        Beide im Format 03.03.04

        Nun klappt es nicht mit
        PHP-Code:
        $datum1=mktime($datumheute);
        $datum2=mktime($regdate);
        $tage=(date("d",$d1)-date("d",$d2)+1); 
        und mit:
        PHP-Code:
        $datum1=mktime($datumheute);
        $datum2=mktime($regdate);
        $tage=$datum1-$datum2
        Scheint der Wert nicht zu Stimmen da kommt in dem Fall -1800 heraus
        und es müssten 57 Tage herauskommen.

        Kommentar


        • #5
          du willst
          [x] dir die korrekte syntax für mktime() im manual anschauen !

          wenn du dann schon mal stöberst, schau dir gleich explode() an, das brauchst du auch.
          Kissolino.com

          Kommentar


          • #6
            Scheint noch ein Fehler drin zu sein.

            PHP-Code:
            $regdate1 explode (","$regdate);
            $datumheute1 explode (","$datumheute);

            $datumheute2=mktime($datumheute1);
            $regdate2=mktime($regdate1); 

            Kommentar


            • #7
              explode hast du noch nicht ganz verstanden und mktime() hast du noch nicht nachgebättert. Und wenn du schon beim manual-Lesen bist, kannste dir auch gleich arrays anschauen.

              Kommentar


              • #8
                boahh ... wenn bremen nicht soweit weg wäre ... junge, junge ...

                du schaust dir jetzt verd***** nochmal im MANUAL an, wie die korrekte syntax für mktime() aussieht!

                dann machst du dir klar, dass man ein datum, das mit "." getrennt ist NICHT auf einem "," exploden kann ... das andere trennzeichen ist wahrscheinlich ein "-"

                ... und dann, ja dann findest du hoffentlich einen vernünftigen ansatz.
                ich mach hier jedenfalls feierabend.
                Kissolino.com

                Kommentar


                • #9
                  Das scheint jetzt schon zu stimmen:
                  PHP-Code:
                  $datumheute1=date(mktime(000date("m"), date("d"), date("y"))); 
                  Nun muss ich das voerhandene Datum:
                  PHP-Code:
                  z.B22.03.03 $register 
                  ja auch in das Format bringen:
                  PHP-Code:
                  $erste=explode(".",$register) ?? 

                  PHP-Code:
                  $total=mktime(0,0,0,$erste
                  Klappt aber nicht

                  Kommentar


                  • #10
                    Original geschrieben von ollimagic
                    PHP-Code:
                    $erste=explode(".",$register)

                    $total=mktime(0,0,0,$erste
                    wie kommst du auf die abwegige idee, mktime als monat ein array übergeben zu wollen?
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      $datumheute1=date(mktime(0, 0, 0, date("m"), date("d"), date("y")));
                      Was ist das? Aus date mach timestamp und aus timestamp mach date
                      22.03.03 = $register
                      parse error!
                      Lies dir noch dazu alles zu arrays durch, denn explode() beschreibt eines.


                      Du liest wohl nicht sehr genau

                      Wenn man etwas programmiert haben will, sucht man sich doch zuerst einen Weg. Der Weg ist in diesem Fall:

                      $SekundenzwDenDaten = $TimestampDerNeuerenZeit - $timestampDerAelterenZeit;

                      Jetzt musst du nur noch den timestmap der Zeiten irgendwo herbekommen, und das machst du mit:
                      time() für den JEZTIGEN timestamp
                      bzw mit:
                      $timestamp = mktime(0,0,0,$monat,$tag,$jahr);
                      Jetzt musst du noch den $monat, $tag und $jahr irgendwo herbekommen, und das machst du mit date() oder getdate().. uff

                      Kommentar


                      • #12
                        War nur als Beispiel
                        PHP-Code:
                        22.03.03 $register 

                        Ist Quatsch
                        PHP-Code:
                        $datumheute1=date(mktime(000date("m"), date("d"), date("y"))); 
                        Sieht bisher recht gut aus. Vielleicht nicht die sauberste Lösung aber scheint zu gehen.
                        PHP-Code:
                        $zeitpunkt=time();
                        $regdate=$zeile["datum"];
                        list (
                        $monat$tag$jahr) = split ('[/.-]'$regdate);
                        $timeregged=mktime(0,0,0,$tag,$monat,$jahr);
                        $dsrddrd ceil($gesamt1 / (($zeitpunkt-$timeregged)/86400)); 
                        @em-!x THX
                        Zuletzt geändert von ollimagic; 02.09.2004, 01:08.

                        Kommentar

                        Lädt...
                        X