Tage zum aktuellen Datum dazuaddieren

Hallo @ all,

ich will zum aktuellen Datum zb.200 Tage dazuaddieren und dann als String ausgeben. Hat jemand eine Idee?

Gruß
Attain

Würde das in Unixtimestamp umwandeln 200 Tage dazuadieren und zurück in ein Datumsformat und dann in einen String.

Umwandeln von Datum in Unixtimestamp:


$heute        = mktime (0,0,0,date("m"),date("d"),date("y"));

Dann dürfte $heute+(60x60x24x200) = 200 Tage später sein.

Und dann zurückwandeln. So auf die Schnelle eine Idee.

Und zurück mit:


$heute = date("d.m.y",$heute); 

Hallo,

danke für die Anregung. Ist sogar noch einfacher:

$datum  = mktime (0,0,0,date("m"),date("d")+200,date("y"));
echo date("d.m.y",$datum );

Gruß
Attain

Da mache ich doch auch mal mit :smiley:


$datum = time() + 60 * 60 * 24 * 200; //Sek * Min * Std * Tage
echo date("d.m.y",$datum );

paresy

hab auch noch einen :smiley:


-- als Einzeiler:
SELECT dateadd(dd, 200, getdate()) as output;

---------------------
-- oder step by step zum Nachvollziehen:

declare
 @datum datetime; -- wir deklarieren uns eine Temp-Variable

SELECT
 @datum = getdate(); -- das liefert uns "heute"

SELECT
 @datum = dateadd(dd, 200, @datum); -- "dd" ist der Code für "ganze Tage"

SELECT 
 @datum as output; -- und geben das Ergebnis aus

…das war Transact SQL (=MS SQL)
(denn im Titel des Unterforums steht ja u.a. auch „SQL“ und keiner sagte „in PHP“…, oder?)

Übrigens: In den anderen SQL-Dialekten geht das ganz ähnlich. Hier die Substitutes für „getdate“ und „dateadd“ (ungetestet aber unkritisch):

Oracle (PL/SQL):


round(sysdate + 24 * 200)  as output

MySQL:


UNIX_TIMESTAMP(now()) + 60 * 60 * 24 * 200

Gruß Gerd