Mit Datum rechnen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by em-!x; 01-09-2004, 17:10.

    Comment


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

      Comment


      • #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.

        Comment


        • #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

          Comment


          • #6
            Scheint noch ein Fehler drin zu sein.

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

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

            Comment


            • #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.

              Comment


              • #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

                Comment


                • #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

                  Comment


                  • #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.

                    Comment


                    • #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

                      Comment


                      • #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
                        Last edited by ollimagic; 02-09-2004, 00:08.

                        Comment

                        Working...
                        X