ermitteln der nächsten 14 tage
Chris
- php
Hallo zusammen,
ich suche nach einer Möglichkeit in PHP die nächsten 14 Tage zu ermitteln.
Das Problem besteht im Übergang von einem in den nächsten Monat.
Beipiel:
Starttag (27 Januar) von dort aus 14 Tage weiter dann wäre ich im nächsten Monat beim (10 Februar) ...
Kann mir jemand sagen wie ich sowas in PHP berechnen kann?
Danke für eure Hilfe,
Chris
Hi,
ich suche nach einer Möglichkeit in PHP die nächsten 14 Tage zu ermitteln.
Das Problem besteht im Übergang von einem in den nächsten Monat.
das ist in PHP eigentlich überhaupt kein Problem, da die Datumsfunktionen (http://de3.php.net/manual/de/ref.datetime.php) sehr gut arbeiten und dabei Übergänge in den nächsten Monat, sowie Schaltjahre usw., eh schon berücksichtigen.
Beipiel:
Starttag (27 Januar) von dort aus 14 Tage weiter dann wäre ich im nächsten Monat beim (10 Februar) ...
solche Aufgaben kann man wunderbar mit strtotime() lösen (siehe http://de3.php.net/manual/de/function.strtotime.php). Dieser Funktion kann man als zweiten Parameter einen timestamp mitgeben, von der aus strtotime() rechnen soll. Du solltest das Startdatum also erstmal in einen solchen umwandeln. Dies geht entweder mit strtotime() selbst, oder auch mit mktime() (siehe http://de3.php.net/manual/de/function.mktime.php). Also z.B.:
<?php
$tsStart = strtotime('2004-01-27');
// oder $tsStart = mktime(0, 0, 0, 1, 27, 2004);
$tsZiel = strtotime('+2 week', $tsStart);
echo date('d.m.Y', $tsZiel);
?>
Gruß,
Andreas.
Moin!
Eine etwas flexiblere Alternative:
<?php
$tsStart = mktime(0, 0, 0, 1, 27+14, 2004);
echo date('d.m.Y', $tsZiel);
?>
Geht auch mit:
<?php
$tsStart = mktime(0, 0, 0, date("m"), date("d")+14, date("Y"));
echo date('d.m.Y', $tsZiel);
?>
oder als beliebter Einzeiler:
<p>Heute in 14 Tagen ist der <? echo date("d.m.Y", mktime(0, 0, 0, date("m"), date("d")+14, date("Y"))); ?></p>
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
hi,
Eine etwas flexiblere Alternative:
hältst du dieses herumhantieren mit mktime() wirklich für angebrachter, als einfach strtotime() zu benutzen?
mir scheint letzteres wesentlich einfacher ...
gruss,
wahsaga
Moin!
mir scheint letzteres wesentlich einfacher ...
Das scheint Geschmackssache zu sein. Ich jedenfalls schätze den Vorteil nicht noch eine weitere Syntax (+ 2 weeks e.t.c) anwenden zu müssen. Ist aber auch nett, dass es das gibt. Vieleicht gefällt mir das ja an anderer Stelle mal besser :)
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®