• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Aktuellsten Timestamp auslesen

Tach Leute,

ich bin gerade dabei, mir so was wie ein eigenes cms zu basteln. hierbei habe ich eine postgres-db im hintergrund, mit der ich unter anderem Artikel und eine telefonliste verwalte.
bei der telefonliste, speichere ich in jedem tupel einen timestamp mit datum und uhrzeit. den aktuellen stand der liste, möchte ich anhand der timestamps auslesen. habe versucht den auszulesen mit max(lastmodify) (lastmodify = timestamp feld), aber dabei komme immer definitiv falsche daten raus.

kann mir einer sagen, wie ich das abfragen kann und die daten dann auch stimmen? datestyle ist auf european eingestellt. feld ist vom typ "timestamp" und eintragen tu ich das ganze über php mit "date('d.m.Y H.i.s')".


vielen dank im voraus....


gruß
tsj
 
Hi,

Der Befehl "date('d.m.Y H.i.s')" liefert ein formatiertes Datum, keinen Zeitstempel. Mit dem Befehl "time()" bekommst Du einen Unix-Zeitstempel, den Du in die DB eintragen kannst. Dann müssten auch die Abfragen funktionieren. Um eine schöne (lesbare) Ausgabe zu bekommen, benutzt Du dann den Befehl "date". Dem kannst Du als zweiten Parameter einen Zeitstempel übergeben, also den aus der DB. Sonst nimmt er die aktuelle Zeit.

LG
 
vielen dank für die antwort.

ich weiss, dass ich mit date keinen richtigen unix-timestamp erzeuge, prinzipiell reicht mir aber dieser "timestamp". ich hab timestamp einfach als oberbegriff für das festhalten von datum und zeit benutzt.

ich habe das problem aber anders gelöst. nach langem langem rumprobieren, habe ich einen weg gefunden, der eigentlich auch am meisten sinn ergibt.

Code:
SELECT lastmodify FROM telefon ORDER BY lastmodify DESC LIMIT 1

das hat geklappt :D

trotzdem vielen dank für den tipp.


gruß
tsj
 
@kuddeldaddeldu:
deine lösung funktioniert nicht so, wie sie vielleicht sollte!

postgres selbst nimmt bei verwendung des timestamp-datentyps keine unix-timestamps an! nimmt man statt des timestamp-datentyps ein varchar oder char oder was auch immer für einen character-datentyp, funktioniert zwar das speicher in der tabelle, aber php liest immer nur das startdatum des timestamp aus (01.01.1970 01:00:00).
habe nun für die generierung des timestamps die postgres-eigene funktion current_timestamp benutzt und die bereits oben erwähnte sortierfunktion.


gruß
tsj
 
Sorry, hätte erwähnen sollen, dass das Datenbankfeld in diesem Fall vom Typ Integer sein muss. Aber Du hast ja schon selbst eine andere Lösung gefunden. :)

LG
 
Oben