frage zum timestamp
jimmy
- php
0 Dennis0 Tobias Kloth0 Dennis
0 Lachgas0 Tobias Kloth0 jimmy
0 jimmy0 Dennis1 Tobias Kloth
hi leute!
hoffe ihr habt mehr ahnung von datumsfunktionen...
ich hab über 3 eingabefelder ein datum in nem timestamp gespeichert,
db: einkauf_datum` TIMESTAMP NOT NULL
php: $einkauf_datum = mktime(12,00,0,$monat, $tag, $jahr);
nun schaff ich es leider nicht mehr dieses datum auszulesen...
weis jemand rat???
gruß
jimmy
Hi jimmy,
nun schaff ich es leider nicht mehr dieses datum auszulesen...
Die Funktion date() sollte helfen.
MfG, Dennis.
Hallo Dennis,
Die Funktion date() sollte helfen.
warum etwas PHP machen lassen, wo MySql das doch genaus kann? Zumal date() mit dem Timestamp-Format von MySql nichts anfangen kann ...
Grüße aus Nürnberg
Tobias
Hi Tobias,
Die Funktion date() sollte helfen.
warum etwas PHP machen lassen, wo MySql das doch genaus kann? Zumal date() mit dem Timestamp-Format von MySql nichts anfangen kann ...
Jimmy hat sich UNIX Timestamps mittels mktime() erstellt - und die kann man sehr wohl mit date() verarbeiten ;-)
Wenn er jetzt natürlich komplett darauf umsteigen würde, die Timestamps alle im MySQL Format zu speichern (dazu hatte ich neulich schon mal was geschrieben, siehe dieses Posting und nachfolgende), wäre das sicherlich nicht schlecht - da stimme ich dir vollkommen zu.
MfG, Dennis.
Hallo Dennis,
Jimmy hat sich UNIX Timestamps mittels mktime() erstellt - und die kann man sehr wohl mit date() verarbeiten ;-)
ja - aber nicht, wenn man sie danach in einer MySql-Datenbank im Format "TIMESTAMP" gespeichert hat :-)
Grüße aus Nürnberg
Tobias
Hallo jimmy!
ich hab über 3 eingabefelder ein datum in nem timestamp gespeichert,
Wie sieht das aus?
db: einkauf_datum` TIMESTAMP NOT NULL
php: $einkauf_datum = mktime(12,00,0,$monat, $tag, $jahr);
Was soll das sein, bes. "db: [...]"?
nun schaff ich es leider nicht mehr dieses datum auszulesen...
Welche Fehlermeldung erhälst du?
weis jemand rat???
Ich würde dir gerne den Weg wei_s_en, aber bei dieser Beschreibung,
nein.
℆, ℒacℎgas
Hallo jimmy,
ich hab über 3 eingabefelder ein datum in nem timestamp gespeichert,
Wieso 3? eines reicht doch völlig ...
Ich gehe jetzt einfach mal davon aus, dass dein DBMS MySql ist:
db: einkauf_datum` TIMESTAMP NOT NULL
php: $einkauf_datum = mktime(12,00,0,$monat, $tag, $jahr);
dass MySql und PHP unter einem timestamp was völlig anderes verstehen, ist dir aber schon klar, oder? (Siehe Timestamp-PHP bzw. Timestamp-Mysql)
nun schaff ich es leider nicht mehr dieses datum auszulesen...
Um aus einer MySql-Datenbank Datumswerte auszulesen, schau dir mal die Datums- und Zeitfunktionen von MySql (besonders DATE_FORMAT()) an.
Grüße aus Nürnberg
Tobias
Wieso 3? eines reicht doch völlig ...
um eingabefehler auszuschließen
Ich gehe jetzt einfach mal davon aus, dass dein DBMS MySql ist:
ja
db: einkauf_datum` TIMESTAMP NOT NULL
php: $einkauf_datum = mktime(12,00,0,$monat, $tag, $jahr);
dass MySql und PHP unter einem timestamp was völlig anderes verstehen, ist dir aber schon klar, oder? (Siehe Timestamp-PHP bzw. Timestamp-Mysql)
ich wusste davon, nur ned wie ich das eine in das andere format bekomm
nun schaff ich es leider nicht mehr dieses datum auszulesen...
Um aus einer MySql-Datenbank Datumswerte auszulesen, schau dir mal die Datums- und Zeitfunktionen von MySql (besonders DATE_FORMAT()) an.
danke für die links, werd mich mal durchlesen!
wow, das ging ja schnell...!
@lachgas
db ? feld in der datenbank
@dennis
mit date() hab ich mich schon versucht, kam aber über das heutige datum nicht hinaus.
wenn ich mir den timestamp vor dem speichern ausgeben lass bekomm ich bei dem datum 5.7.2004 als wert 1089021600, in der datenbank jedoch nur 00000000000000. hatte zwar heut auch schon werte eintragen können, aber das scheint jetzt auch nimma zu gehen...???
Hi jimmy,
@dennis
mit date() hab ich mich schon versucht, kam aber über das heutige datum nicht hinaus.
echo date("Y-m-d H:i:s", $timestamp);
Wobei $timestamp deine Variable ist, in der eben dein UNIX Timestamp vorliegt - stand aber auch auf der verlinkten Seite im PHP Manual.
MfG, Dennis.
Hallo jimmy,
wenn ich mir den timestamp vor dem speichern ausgeben lass bekomm ich bei dem datum 5.7.2004 als wert 1089021600, in der datenbank jedoch nur 00000000000000.
Du musst den PHP-Timestamp beim Einfügen in die Datenbank erst mit FROM_UNIXTIME(php-timestamp) konvertieren:
INSERT INTO tabelle SET einkauf_datum = FROM_UNIXTIME(php_timestamp)
(ungetestet)
Beim Auslesen kannst du dann entweder mit UNIX_TIMESTAMP() wieder einen Timestamp erzeugen mit dem PHP was anfangen kann (->SELECT UNIX_TIMESTAMP(einkauf_datum) as einkauf_datum FROM tabelle
) oder (imho besser) du holst gleich das fertig formatierte Datum.
Grüße aus Nürnberg
Tobias