Moin Leute, ich kriegs einfach nicht hin, obwohl ich hier die PHP und MYSQL Online-Doku offen habe. Ich brauche in meinem PHP-Skript ein Datum, und zwar "jetzt plus drei Monate", und das in einem Format, dass ich es in eine MySQL-Datenbank eintragen kann. MySQL kann das zwar auch alleine, aber ich brauche das Datum zum Anzeigen halt auch schon im PHP-Skript, deshalb möchte ich es auch dort erzeugen. Kann mir jemand auf die Sprünge helfen?
Du ermittelst mit time() den aktuellen Zeitstempel und addierst 3 Monate (in Sekunden). Mit date() pfriemelst du aus dem neuen Zeitstempel das aktuelle Datum (Jahr, Monat, Tag) heraus.
1 | $newtime = time()+60*60*24*30*3; |
2 | $year = date("Y", $newtime); |
3 | $month = date("n", $newtime); |
4 | $day = date("j", $newtime); |
5 | $newdate = $year."-".$month."-".$day; |
unter der Annahme, dass du unter 3 Monaten 3*30 Tage o.ä. verstehst. Ansonsten einfach auf den Aktuellen Montag 3 addieren und Überläufe > 12 abfangen und dabei das Jahr erhöhen.
Hi, PHP >= 5 hat die Date-Klasse, die auch eine Methode date_add kennt. Ohne die Klasse musst du das Datum mit date() zerlegen und mit mktime wieder zusammenbauen. Beim Monat kannst du dann einfach 3 Monate addieren (Achtung: Monate sind glaube ich 0-basierend (Januar = 0)). Unplausible Monatsangaben werden korrekt verarbeitet (z.b. Monat 25) HTH
na da fehlt aber was ^^ versuchs mal so $newdate = date('Y-m-d', strtotime('+3 month'));
Schau dir mal die Date-Funktionen in PHP an: http://www.php.net/manual/en/function.date-add.php (insb zweiten Post) Du kannst aber evtl auch das so machen INSERT into Tabelle (DatumSpalte) VALUES( DATE_ADD(NOW(), INTERVAL 3 MONTHS)) ) Gruß Roland
mpl schrieb: > na da fehlt aber was ^^ > > versuchs mal so > > $newdate = date('Y-m-d', strtotime('+3 month')); sehen wir doch mal nach... Luk4s K. schrieb: > $newtime = time()+60*60*24*30*3;
ja jetzt aber :D davor haben die +3 monate gefehlt ^^ warst mitm edit schneller als ich =)
Roland Praml schrieb: > Du kannst aber evtl auch das so machen > INSERT into Tabelle (DatumSpalte) VALUES( DATE_ADD(NOW(), INTERVAL 3 > MONTHS)) ) jo aber so kann er mit dem datum nicht in php weiterarbeiten... NOW() is mysql
mpl schrieb: > ja jetzt aber :D davor haben die +3 monate gefehlt ^^ warst mitm edit > schneller als ich =) erwischt :(
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.