ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
810
810
EMPFEHLEN
-
Hallo,
mich quält schon seit längerem ein Problem, ich finde dazu aber keine Lösung per Google oder hier im Forum.
Ich arbeite mit MySQL und habe eine Tabelle in der verschiedene Ereignisse mit einem UNIX-Timestamp gespeichert sind.
Nun möchte ich eine Ausgabe erzeugen, die mir alle Ereignisse mit aktuellem Datum zeigt, nur das Jahr soll keine Rolle spielen. Also "heute vor x Jahren"...
Eine Beispiel, wie die Ausgabe aussehen könnte.
23.11.1987 -> Ereignis 1
23.11.1979 -> Ereignis 2
...
Wie kann ich das in einer Abfrage in Verbindung mit PHP lösen?
Danke für eure Hilfe!
-
Ist ein bißchen Rechenaufwand und es gibt sicherlich verschiedene Möglichkeiten.
Ein Ansatz:
Sowohl für historischen als auch aktuellen Timestamp:
Timestamp modulo (Sekunden pro Jahr) ergibt Sekunden seit 1.1.
Dieser Wert ganzzahlig dividiert durch (Sekunden pro Tag) ergibt den Tag des Jahres.
Die beiden dann vergleichen.
Hm, ziemlich schnell hingetippt. Ausprobieren.
edit: Auweh, da gibs ja noch Schaltjahre... ich nehm den Vorschlag zurück
Geändert von matdacat (23.11.05 um 15:28 Uhr)
-
Du kannst mit MySQL-Funktionen arbeiten:
Der Code hat möglicherweise ein paar kleinere Fehler, da ich ihn nicht getestet, sondern hier im Editor getippt habe.Code :1 2 3 4 5 6
select from_unixtime(`tsFeld`) as `datum` year(now())-year(from_unixtime(`tsFeld`)) as `jahreVorher` from tabelle where dayofmonth(now())=dayofmonth(from_unixtime(`tsFeld`)) and month(now())=month(from_unixtime(`tsFeld`))
Mehr bei den Datums- und Zeitfunktionen
Gruß hpvwWarum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.
-
Mir ist grad was eingefallen.
Ich könnte mir ja alle Ereignisse der Tabelle (ca. 800) in ein normales Format umrechnen lassen. (zb. DD.MM.JJJJ) und das dann mit dem heutigen Datum vergleichen. (23.11.2005).
Bloß, ist das net zuviel Rechenaufwand für Inet?
-
Das ist für Maschinenverarbeitung so ziemlich das "unnormalste" Format, dass ich mir vorstellen kann.
Zitat von MM2410
Gruß hpvw
PS: Was gefällt Dir an dem Query oben nicht? Ich habe es eben getestet und es funktioniert, zumindest, wenn ich Dein Problem richtig verstanden habe.Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.
-
Jo, Danke an euch alle.
Es funktioniert perfekt.
Ich hatte das Post oben gerade geschrieben, als die Lösung gepostet wurde!
Deshlab habe ich das nich nicht gesehen.
Danke!
Ähnliche Themen
-
SQL - Nach Timestamp abfragen
Von Sasser im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 11.05.10, 12:41 -
Beliebiges Datum per Format in Timestamp umwandeln
Von shockshell im Forum PHPAntworten: 14Letzter Beitrag: 06.02.10, 09:42 -
Timestamp aus KW, Wochentag und Jahr bilden
Von schleckerbeck im Forum PHPAntworten: 7Letzter Beitrag: 30.11.07, 23:56 -
Aus einem String ein Datum auslesen und dann einzeln nach Tag,Monat,Jahr ausgeben
Von oldboy im Forum JavaAntworten: 5Letzter Beitrag: 15.10.07, 16:56 -
Datum nach Timestamp konvertieren
Von dwex im Forum PHPAntworten: 1Letzter Beitrag: 17.08.05, 13:23





Zitieren
Login




