timestamp falsch
Ben
- datenbank
Hallo,
ich habe ein kleines Problem bei einem INSERT. Ich habe ein Feld vom Typ timestamp, für das ich beim INSERT auch keinen Wert übergebe. Im Nachhinein steht dort aber ein recht schwachsinniger Wert (das Datum läuft dann auf den 19.01.2038 hinaus). Am Apache kann es aber nicht liegen, da dort für time() der richtige Timestamp ausgegeben wird. Gibt es in MySQL irgendwo die Funktion, dass ich das Datum eingeben muss oder soetwas? Bin etwas ratlos.
Schonmal vielen Dank und viele Grüße
Ben
echo $begrueszung;
ich habe ein kleines Problem bei einem INSERT. Ich habe ein Feld vom Typ timestamp, für das ich beim INSERT auch keinen Wert übergebe. Im Nachhinein steht dort aber ein recht schwachsinniger Wert (das Datum läuft dann auf den 19.01.2038 hinaus).
Wie sieht denn der "schwachsinnige Wert" aus? 20380119xxxxxx oder anders?
Die Unterschiede zwischen einen Unix-Timestamp mit einem MySQL-Timstamp sind dir bekannt?
echo "$verabschiedung $name";
Hi dedlfix,
Wie sieht denn der "schwachsinnige Wert" aus? 20380119xxxxxx oder anders?
Fast.. 20050326144833
Die Unterschiede zwischen einen Unix-Timestamp mit einem MySQL-Timstamp sind dir bekannt?
Daran hab ich natürlich mal wieder nicht gedacht... Da werd ich wohl nochmal nachsehen, wie ich einen MySQL-Timestamp richtig umwandle... Danke für den Denkanstoß. Ist wohl noch "zu früh am Morgen" ;-)
Gruß
Ben
echo $begrueszung;
Der MySQL-Timestamp ist "nur" Datum und Uhrzeit zusammengefasst in der Form YYYYMMDDhhmmss. Das hat aber den Vorteil, dass der Wertebereich gegenüber dem Unix-Timestamp (Sekunden seit 1.1.1970 00:00 Uhr UTC) größer ist.
Zum Umwandeln gibt es übrigens die MySQL-Funktionen FROM_UNIXTIME() und UNIX_TIMESTAMP()
echo "$verabschiedung $name";
Hello,
Der MySQL-Timestamp ist "nur" Datum und Uhrzeit zusammengefasst in der Form YYYYMMDDhhmmss. Das hat aber den Vorteil, dass der Wertebereich gegenüber dem Unix-Timestamp (Sekunden seit 1.1.1970 00:00 Uhr UTC) größer ist.
Ist ja auch kein Kunststück bei 14 Bytes gegenüber vier. ;-))
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
echo $begrueszung;
Der MySQL-Timestamp ist "nur" Datum und Uhrzeit zusammengefasst in der Form YYYYMMDDhhmmss. Das hat aber den Vorteil, dass der Wertebereich gegenüber dem Unix-Timestamp (Sekunden seit 1.1.1970 00:00 Uhr UTC) größer ist.
Ist ja auch kein Kunststück bei 14 Bytes gegenüber vier. ;-))
Und dabei gehen die noch verschwenderisch damit um, nutzen gar nicht den vollen Wertebereich der Bytes aus. ... wollte ich zuerst schreiben, doch dann warf ich einen Blick ins Handbuch und denke, dass wir uns hier beide irren.
MySQL verwendet auch nur 4 Byte für Timestamp (gegenüber 8 Byte für ein Datetime) und der Wertebereich ist der gleiche wie beim Unix-Timestamp.
echo "$verabschiedung $name";
Hello,
tatsächlich.
Hatte ich doch glatt falsch in Erinnerung.
http://dev.mysql.com/doc/mysql/de/storage-requirements.html
Da muss man ja richtig aufpassen.
Allerdings ist die Darstellung an der Schnittstelle immer im von Dir beschriebenen Format, oder?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
echo $begrueszung;
Da muss man ja richtig aufpassen.
Allerdings ist die Darstellung an der Schnittstelle immer im von Dir beschriebenen Format, oder?
Nein, auch das nicht. Das Format hat sich in Version 4.1 wegen "SQL standards compliance" geändert. Beim Lesen wird noch die "kompakte" Form erkannt. Ausgegeben wird nun aber YYYY-MM-DD hh:mm:ss
echo "$verabschiedung $name";
Hello,
echo $begrueszung;
willst Du nicht mal Deine Begrüßung und Verabschiedung kontrollieren?
echo "$verabschiedung $name";
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Tom!
echo $begrueszung;
echo "$verabschiedung $name";
willst Du nicht mal Deine Begrüßung und Verabschiedung kontrollieren?
Das _soll_ so sein. Das Forum hier bietet doch als echte Variablen
nur $vname (in geschw. Klammern) an, ... oder?
℆, ℒacℎgas
Hallo Lachgas.
Das _soll_ so sein. Das Forum hier bietet doch als echte Variablen
nur $vname (in geschw. Klammern) an, ... oder?
Und das alte {$name} natürlich auch noch. ;)
Gruß, Ashura
Hello,
echo $begrueszung;
echo "$verabschiedung $name";
willst Du nicht mal Deine Begrüßung und Verabschiedung kontrollieren?Das _soll_ so sein. Das Forum hier bietet doch als echte Variablen
nur $vname (in geschw. Klammern) an, ... oder?
ist mir da irgendein Aprilscherz entgangen?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Tom!
ist mir da irgendein Aprilscherz entgangen?
Wieso ... ?
℆, ℒacℎgas
Hallo dedlfix,
Zum Umwandeln gibt es übrigens die MySQL-Funktionen FROM_UNIXTIME() und UNIX_TIMESTAMP()
zum Formatieren kann man natürlich auch gleich DATE_FORMAT() bzw. TIME_FORMAT() verwenden ...
Grüße aus Nürnberg
Tobias