mikrocontroller.net

Forum: PC-Programmierung Datum in PHP


Autor: Vater Zeit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.
$newtime = time()+60*60*24*30*3;
$year = date("Y", $newtime);
$month = date("n", $newtime);
$day = date("j", $newtime);
$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.

Autor: Chris R. (hownottobeseen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: mpl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
na da fehlt aber was ^^

versuchs mal so

$newdate = date('Y-m-d', strtotime('+3 month'));

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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;

Autor: mpl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja jetzt aber :D davor haben die +3 monate gefehlt ^^ warst mitm edit 
schneller als ich =)

Autor: mpl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mpl schrieb:
> ja jetzt aber :D davor haben die +3 monate gefehlt ^^ warst mitm edit
> schneller als ich =)

erwischt :(

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.