Gerhard: dateAdd

Gibt es in php eine funktion ähnlich der funktion

DateAdd(interval,number,date)

in asp?
Diese funktion liefert ein datum zurück, das zu "date" "number" x "interval" addiert bzw. subtrahiert
Diese Funktion ist auch intelligent, sie prüft auf anzahl der tage eines monats und schaltjahr,...

in interval kann man reinschreiben Y,m,d,w,h,s,...

<!-- Beispiel1 beginn --> Add one month to January 31, 2000 //2000=Schaltjahr
document.write(DateAdd("m",1,"31-Jan-00"))
Output:2/29/2000
<!-- Beispiel1 ende -->

<!-- Beispiel2 beginn --> Add one month to January 31, 2001
document.write(DateAdd("m",1,"31-Jan-01"))
Output:2/28/2001
<!-- Beispiel2 ende -->

Hat diese Funktion vielleicht schon jemand ausprogrammiert oder kennt sie? Es wäre wirklich verdammt viel Arbeit, sie jetzt selbst ausprogrammieren zu müssen.

danke im voraus
gerhard

  1. Hallo Gerhard,

    ... Es wäre wirklich verdammt viel Arbeit, sie jetzt selbst ausprogrammieren zu müssen.

    wirklich?

    function DateAdd($interval,$nummer,$date)
       {
       $date=$date+($interval*$nummer);
       return date("d/m/Y",$date);
       }

    $date     ist der Timestamp
    $nummer   ist die Anzahl an Sekunden
    $interval ist Dein Interval

    http://de.php.net/manual/de/ref.datetime.php

    Gruß aus Berlin!
    eddi

    --
    Manchmal trifft es einen doch ganz unverhofft t86591:
    > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
    Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)
    1. ok so einfach hab ich mir das natürlich nicht vorgestellt

      danke

    2. hi,

      function DateAdd($interval,$nummer,$date)
         {
         $date=$date+($interval*$nummer);
         return date("d/m/Y",$date);
         }

      was spricht gegen die simple verwendung von strtotime stattdessen?

      diese funktion berücksichtigt nebenbei wie gefordert auch noch schaltjahre, sommer-/winterzeitwechsel, etc.
      ob deine funktion das genauso berücksichtigt, wage ich zumindest anzuzweifeln. gerade der wechsel sommer-/winterzeit et vice versa bringt des öfteren probleme mit sich, wenn man einfach feste sekundenintervalle auf einen timestamp addiert.

      http://de.php.net/manual/de/function.strtotime.php

      gruß,
      wahsaga

      --
      I'll try being nicer if you'll try being smarter.
      1. hi,

        function DateAdd($interval,$nummer,$date)
           {
           $date=$date+($interval*$nummer);
           return date("d/m/Y",$date);
           }

        was spricht gegen die simple verwendung von strtotime stattdessen?

        A: ... Es wäre wirklich verdammt viel Arbeit, sie jetzt selbst ausprogrammieren zu müssen.
        B: wirklich?

        So fehldeut bar.

        diese funktion berücksichtigt nebenbei wie gefordert auch noch schaltjahre, sommer-/winterzeitwechsel, etc.
        ob deine funktion das genauso berücksichtigt, wage ich zumindest anzuzweifeln.

        Mach uns alle schlau ;) Liefert date("d/m/Y"); immer das richtige Ergebnis? Nicht? Dann auwia! Denn strtotime bedient sich leider auch nur des Timestamps und müste mit date() umgeformt werden.

        Nachdem strtotime() schon, der Funktion DateAdd ungleich kein Interval, Nummer, Date hat, muß sie also zusätzlich eh noch mal durch date() "nachbehandelt" werden.

        "Schön' Dank füa't Jespreech!" ("Sacht der Berlina" ;)

        Gruß aus Berlin!
        eddi

        --
        Manchmal trifft es einen doch ganz unverhofft t86591:
        > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
        Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)
        1. hi,

          Liefert date("d/m/Y"); immer das richtige Ergebnis?

          davon würde ich ausgehen.
          der unix-timestamp dieser sekunde, in der du diese zeile liest, ist auf der ganzen welt exakt der selbe.
          denn so ist er nun mal definiert.

          date() liefert dann lediglich eine lokale (*) umformung dieser zahl in ein für den menschlichen benutzer besser interpretierbares format.

          gruß,
          wahsaga

          (*) in abhängigkeit von den server-einstellungen.

          --
          I'll try being nicer if you'll try being smarter.
          1. hi wahsaga,

            sind wir uns dann einig? ;)

            Gruß aus Berlin!
            eddi

            --
            Manchmal trifft es einen doch ganz unverhofft t86591:
            > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
            Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)