PHP Datum des vorigen Tags bekommen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktuell echo
code
date
datum
eigene funktion
ermittelt tag
gestrigen tag
jahr
letzten tag
monat
problem
programmcode
punkt
schlauch
stunden
tag
tun
uhr
url
zeitumstellung
-
Hallo Zusammen,
Ich suche einen Weg das tag/datum">Datum von Gestern leicht rauszubekommen.
Zurzeit mache ich das so:
$tag = date("j"); $monat = date("m"); $jahr = date("Y"); $alter_tag = $tag - 1; $datum = $alter_tag . "." . $monat . "." . $jahr . ".";
Allerdings funktioniert das nicht, wenn der Monat sich ändert. Wie komm ich also am 1sten an den 31/30 oder 28 ran?
Liebe Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Da gibt es eine ganz interessante Möglichkeit in PHP:
<?php $zeit=time(); $tag=date("j",$zeit); // Tag, $monat=date("m",$zeit); // Monat $jahr=date("Y",$zeit); // und Jahr werden ermittelt $tag--; // Der Tag wird um eins reduziert $gestern=mktime(0,0,0,$monat,$tag,$jahr); // Aus diesen Informationen ein neues Datum erstellen echo date("j.m.Y",$gestern); // neues Datum formatiert ausgeben ?>
Hab ich gerade getestet, es sollte funktionieren. -
Funktioniert Perfekt! Danke!
-
Zur Ergänzung:
$unixTimeStamp= time() - 86400; echo date("d.m.Y", $unixTimeStamp);
Wäre auch eine einfache Möglichkeit. Damit hast du auf jeden Fall dann auch den Timestamp da, den du ohne Probleme formatieren kannst. -
muellerlukas schrieb:
Richtig, der Programmcode ist einfacher. Auf diese Weise könnte es aber in 2 Stunden im Jahr Probleme geben. Immer nach einer Zeitumstellung, weil der Tag dann 23 oder 25 Stunden hat.
$unixTimeStamp= time() - 86400;
-
fuerderer schrieb:
muellerlukas schrieb:
Richtig, der Programmcode ist einfacher. Auf diese Weise könnte es aber in 2 Stunden im Jahr Probleme geben. Immer nach einer Zeitumstellung, weil der Tag dann 23 oder 25 Stunden hat.
$unixTimeStamp= time() - 86400;
Das stört mich ja nicht, da das nicht am letzten Tag eines Monats stattfindet und die Werte um Punkt 0 Uhr benötigt werden ;)
LG -
marvinkleinmusic schrieb:
Ich stehe gerade auf dem Schlauch, was das mit dem letzten Tag eines Monats zu tun hat. Aber schau dir mal dieses Beispiel an:
Das stört mich ja nicht, da das nicht am letzten Tag eines Monats stattfindet und die Werte um Punkt 0 Uhr benötigt werden ;)<?php $aktuell=1396216800; $gestern=$aktuell-86400; echo date("j.m.Y H:i.s",$aktuell).'<br>'; echo date("j.m.Y H:i.s",$gestern); ?>
Und als Ausgabe:
Wenn du also den 31.03.2014 als Eingangsdatum hast (Uhrzeit ist genau 0), bekommst du trotzdem den 29.03.2014 als Ergebnis. Es betrifft dich also auch bei 0 Uhr!31.03.2014 00:00.00 29.03.2014 23:00.00
-
Hallo,
php hat dafür eine eigene Funktion strtotime. Diese solltest Du Dir mal anschauen... Nachfolgend der Code, der Dir den Timestamp für den gestrigen Tag ausgibt...
$gestern = strtotime("-1 day"));
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage