Idee für komplizierten Kalender gesucht =)

eggman

Well-known member
ID: 70062
L
21 Mai 2006
216
8
Ich hoffe nun einfach mal, dass hier wenige WM Begeisterte unterwegs sind und der Thread Beachtung findet *g*

Also, es geht um folgendes: Ich plane einen Kalender, der nicht nur exakte Daten enhalten kann, sondern auch nur Jahreszahlen, Monate, Quartale oder gar nichts, falls noch keine Informationen zu einem Event vorhanden sind.

Nun wäre das ganze kein Problem ganz normal einzutragen, wenn man nicht natürlich auch sortieren möchte. Hat man z.B. 5 Daten, zwei davon konkret, zwei nur Quartalangabe und eines ohne irgendetwas, so würde man die schlecht in der richtigen Reihenfolge anzeigen lassen können.

Also such ich eine Überlegung wie man das bestmöglich realisieren könnte, evtl. hat ja jemand Codeschnipsel die mir einen Gedankenstoß geben könnten? =) Fakt ist, dass man wohl für jeden Fall (ob Monat, Quartal usw.) eine Ordnungsnummer o. Ä. braucht um das erstmal grob ordnen zu können.

Beste Grüße
eggman :)
 
Mach eine eintrag für ein komplettes quartal doch mit 2 konkreten Zeitangaben. Also als VON-BIS, dann kannst du das ganze auch sortieren ;)
 
so wie ich das lese ist das jahr deien mindestangabe.

daraus folgt:

speichere die daten dreifach:
- jahr
- quartal
- tagesgenau

wenn du nur das jahr hast, kannst du somit die daten filter. wenn du den genauen tag hast, kennst du auch das quartal. wenn du nur das quartal kennst, brauchst du mindestens noch das jahr (oder auch nicht, ka wie du es willst)..

damit kannst du aber alles lösen was du brauchst für alle filterungen.
 
Naja,

eigentlich sollten bei nicht übermäßigem Aufwand in der Datenbank keine Daten redundant vorhanden sein.

Eine Idee wäre als Zeitpunkt einfach einen Timestamp und dazu einige selbstgebaute Methoden - z.B. getYear(), getQuarter(), getDay(), ...

Gruß
 
redundanz sollte man zwar vermeiden, zusätzliche funktionen zu schaffen die aber damit cpu-last schaffen kann man aber damit umgehen. und da der speicherplatzmehrbedarf minimal ist, ist das vermutlich die bessere wahl.
 
Leg dir für jeden Eintrag, der kein konkretes Datum enthält, ein Dummy-Datum an, z.B. immer der erste des Monats/Jahrs. Dann kannst du danach sortieren.
 
Scar schrieb:
redundanz sollte man zwar vermeiden, zusätzliche funktionen zu schaffen die aber damit cpu-last schaffen kann man aber damit umgehen. und da der speicherplatzmehrbedarf minimal ist, ist das vermutlich die bessere wahl.

Das wage ich hier mal stark zu bezweifeln. Vielleicht gibt es einen kleinen Geschwindigkeitsvorteil, sofern man damit richtig umgeht; allerdings ist das sicherlich kein guter Programmierstil ...

Wenn ich nun z.B. das ganze aus irgendeinem Grund in irgendeiner anderen Zeiteinteilung haben will; stehe ich mit meiner Lösung besser da. Ich schreibe mir einfach eine Methode und bastel nicht noch was in der DB rum. Natürlich könntest du auch eine Methode schreiben; das wäre dann allerdings wieder inkonsequenter Mischmasch, was zu extrem schlechtem Codeverständis führt.