Bewertung: 3 / 5

Stern aktivStern aktivStern aktivStern inaktivStern inaktiv
 

Problembeschreibung

Häufig wird in MySQL-Tabellen in Datensätzen auch Datum und Uhrzeit gespeichert, z.B. vom Erstellungs- oder Änderungszeitpunkt. Das erfolgt häufig als Integerzahl im Unix-Timestamp-Format und ist dann bei Tabellenanzeigen für Menschen schwer lesebar. Deshalb möchte man mitunter diesen UNIX-Timestamp gerne in eine normale Schreibweise von Datum und Uhrzeit angezeigt haben.

 

Hier die Lösung

... am Beispiel einer User-Tabelle, wo wie das Anmeldedatum umgewandelt haben wollen.

 

SELECT *, FROM_UNIXTIME(time) as realtime
FROM `session`
ORDER BY `time` DESC
LIMIT 30

 

Mit nachfolgender Lösung werden alle DS in einer MySQL-Tabelle gefunden, bei der das modified_on-Datum darauf verweist, dass der DS zuletzt vor 30 Tagen bearbeitet wurde:

select *, modified_on, timestampdiff(DAY, modified_on, now()) as diffdays 
from j2ms_virtuemart_categories c
  left join j2ms_users u on c.modified_by = u.id
  WHERE timestampdiff(DAY, modified_on, now()) < 30
ORDER BY timestampdiff(DAY, modified_on, now()) ASC 
limit 0, 100

 

Man kann die Datum/Zeit-Ausgabe auch gezielt formatieren in dem ein Formatstring übergeben wird:

FROM_UNIXTIME(`timestamp_column`, '%Y-%m-%d %H:%i:%s')

 

 

Kommentare (0)

Bisher wurden hier noch keine Kommentare veröffentlicht

Einen Kommentar verfassen

  1. Kommentar als Gast veröffentlichen. Registriere Dich oder melde Dich zu Deinem Benutzerkonto an.
0 Zeichen
Anhänge (0 / 3)
Deinen Standort teilen
Gib den Text aus dem Bild ein. Nicht zu erkennen?