Felix: MySql - Timestamp Formatierung

Hallo Forum,

ich benutze zur Datumsspeicherung in Tabellen den Variablentyp TIMESTAMP mit 14 Zeichen, YYYYMMDDHHMMSS.
Im PhpMyAdmin wird dieser auch korrekt dargestellt.

Nachdem ich nun ein Projekt auf einen neuen Server portiert habe und die Tabellen samt Inhalt importiert habe, werden die Timestamp-Werte plötzlich im Format YYYY-MM-DD HH:MM:SS angezeigt.

Und überall, wo ich in den Skripten Datumswerte ausgebe, kommt Quark raus, da meine Datumsanzeigefunktion nicht mehr den richtigen Input erhält.

Wie kann ich dieses Verhalten abstellen?

  1. echo $begrüßung;

    ich benutze zur Datumsspeicherung in Tabellen den Variablentyp TIMESTAMP mit 14 Zeichen, YYYYMMDDHHMMSS.
    Nachdem ich nun ein Projekt auf einen neuen Server portiert habe und die Tabellen samt Inhalt importiert habe, werden die Timestamp-Werte plötzlich im Format YYYY-MM-DD HH:MM:SS angezeigt.
    Wie kann ich dieses Verhalten abstellen?

    Dann hast du sicher von Version 4.0 oder kleiner auf Version 4.1 oder größer umgestellt. Hast du etwa vergessen dich zu informieren, was in Version 4.1 neu ist? :-) Als Standard-Format für Timestamps wird nun das gleiche wie bei normalen Datumswerten verwendet. Verwende eine Datumsformatierfunktion um eine Ausgabe in dem von dir gewünschten Format zu erhalten.

    echo "$verabschiedung $name";

  2. Hallo Felix,

    Nachdem ich nun ein Projekt auf einen neuen Server portiert habe und die Tabellen samt Inhalt importiert habe, werden die Timestamp-Werte plötzlich im Format YYYY-MM-DD HH:MM:SS angezeigt.

    <glaskugelmodus>Der alte Server hatte eine 4.0er Version von MySQL, der neue aber eine 4.1er</glaskugelmodus> - wie im Changelog nachzulesen, hat sich bei diesem Versionsprung aber das Verhalten von TIMESTAMP-Spaltentypen geändert.

    Und überall, wo ich in den Skripten Datumswerte ausgebe, kommt Quark raus, da meine Datumsanzeigefunktion nicht mehr den richtigen Input erhält.

    Warum verwendest du auch nicht einfach die Datumsfunktionen von MySQL (hier dürften wohl DATE_FORMAT() bzw. TIME_FORMAT() die richtigen sein)?

    Wie kann ich dieses Verhalten abstellen?

    afaik, garnicht.

    Grüße aus Nürnberg
    Tobias