Zurück tutorials.de > Programming > Relationale Datenbanksysteme

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


Einladung zum C++ für Einsteiger-Workshop
  AntwortAntworten (über Gastzugang)    
  AntwortAntworten (über Gastzugang)    
 
Themen-Optionen Ansicht
Alt 23.11.05, 15:14   #1 (permalink)
Mitglied
 
Registriert seit: Feb 2005
Beiträge: 13
Renommee-Modifikator: 0
MM2410 hat eine blütenweiße Weste

Timestamp nach heutigen Datum, aber beliebiges Jahr, abfragen

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!
  MM2410 ist offline  
 
Alt 23.11.05, 15:24   #2 (permalink)
Mitglied Platin
 
Benutzerbild von matdacat  
 
Registriert seit: Aug 2004
Beiträge: 661
Renommee-Modifikator: 14
matdacat ist ein sehr geschätzer Mensch

Re: Timestamp nach heutigen Datum, aber beliebiges Jahr, abfragen

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).
  matdacat ist offline  
 
Alt 23.11.05, 15:38   #3 (permalink)
 
Registriert seit: Apr 2002
Ort: HH
Beiträge: 3.228
Renommee-Modifikator: 29
hpvw hat eine blütenweiße Weste

Re: Timestamp nach heutigen Datum, aber beliebiges Jahr, abfragen

Du kannst mit MySQL-Funktionen arbeiten:
Code:
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`))
Der Code hat möglicherweise ein paar kleinere Fehler, da ich ihn nicht getestet, sondern hier im Editor getippt habe.

Mehr bei den Datums- und Zeitfunktionen

Gruß hpvw
__________________
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.
  hpvw ist offline  
 
Alt 23.11.05, 15:39   #4 (permalink)
Mitglied
 
Registriert seit: Feb 2005
Beiträge: 13
Renommee-Modifikator: 0
MM2410 hat eine blütenweiße Weste

Re: Timestamp nach heutigen Datum, aber beliebiges Jahr, abfragen

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?
  MM2410 ist offline  
 
Alt 23.11.05, 17:09   #5 (permalink)
 
Registriert seit: Apr 2002
Ort: HH
Beiträge: 3.228
Renommee-Modifikator: 29
hpvw hat eine blütenweiße Weste

Re: Timestamp nach heutigen Datum, aber beliebiges Jahr, abfragen

Zitat:
Zitat von MM2410
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.

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.
  hpvw ist offline  
 
Alt 23.11.05, 17:39   #6 (permalink)
Mitglied
 
Registriert seit: Feb 2005
Beiträge: 13
Renommee-Modifikator: 0
MM2410 hat eine blütenweiße Weste

Re: Timestamp nach heutigen Datum, aber beliebiges Jahr, abfragen

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!
  MM2410 ist offline  
 
 
 
Lesezeichen:


Themen-Optionen
Ansicht
Ähnliche Themen
 
Thema Autor Forum Antworten Letzter Beitrag
Datum in Tag, Monat, Jahr teilen? Jacizzle Visual Basic 6.0 4 24.08.05 10:20
Datum nach Timestamp konvertieren dwex PHP 1 17.08.05 13:23
$tag $monat $jahr in TIMESTAMP umwandeln gidde PHP 1 21.02.05 14:23
Jahr und Tag von Datum abziehen flotschie .NET Archiv 3 08.02.05 11:44
Datum (in einem Jahr) - 36 Tage = Ausgabedatum Sputnik PHP 2 16.10.02 13:26
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 132
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 260
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 147
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 100
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 189
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 79,68%
149 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 20,32%
38 Stimmen
Stimmen gesamt: 187
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,27420 Sekunden mit 26 queries