Timestamp in Datum umwandeln...?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Timestamp in Datum umwandeln...?

Beitrag von tschekowski »

Hi,

Ich habe in meiner Datenbank 1Timestamp je Zeile.
Wie kann ich das höchste Timestamp auslesen und dann in ein normales Datum umwandeln (z.B 11 März 2004 oder 11.03.2004) ?


tschekowski
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Zum Auslesen ist

Code: Alles auswählen

SELECT Max(feldname) AS neuer_feldname...
dein Freund, zum Umwandeln gibt's dann den PHP-Befehl [php:date]

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

Code: Alles auswählen

$sql = mysql_query ("SELECT max(letzte_Aenderung) AS maximalwert FROM $tablename");
$zeile = mysql_fetch_array($sql);
$timestamp=$zeile["maximalwert"];

$zeit=date ("d.m.Y", $timestamp);
so kommt kein ergebnis raus....
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Für den SQL-Befehl doch mal bitte testweise in phpMyAdmin aus.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

da kommt dann: You have an error in your SQL syntax near '$sql = mysql_query ("SELECT max(letzte_Aenderung) AS maximalwert FROM $tablename' at line 1
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Nein - da darfst du nur den SQL-Befehl (der Teil in Anführungszeichen) eingeben, des weiteren musst du $tablename durch den Tabellennamen ersetzen.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

dann liefert er mit das höchste Timestamp...
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

jetzt liefert er mir ein ergebnis: 21.10.1982
(wenn ich das timestamp ergebnis hochrechne komme ich auch auf etwas mit 12 Jahren - aber eigentlich müsste da was mit 2004 rauskommen !?!)
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

wenn ich das timestamp von timestamp(10) auf (12) oder (6) ändere kommen verschiedene Daten raus - kann es sein das es an der formatierung liegt ?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Verstehe ich das richtig, daß du einen Unix-Timestamp in einem Datenbankfeld vom Typ TIMESTAMP speicherst? Wenn ja, liegt dort der Fehler. Der MySQL-Typ TIMESTAMP akzeptiert nämlich genau wie DATE & co. nur Werte im Format YYYYMMDDHHMMSS (sowie diverse Variationen davon). Unix-Timestamps wie sie time() in PHP zurückgibt, speichert man am besten in INT-Feldern. :roll:

Siehe http://dev.mysql.com/doc/mysql/de/DATETIME.html
Antworten

Zurück zu „Coding & Technik“