planung von regelmäßigen terminen programmieren
-
hi
ich schreib grad ein planungs programm. jetzt möchte ich auch die möglichkeit einbauen, wiederkehrende termine anlegen zu können. (jeden 2. samstag, jeden 2. samstag im monat, immre am 12. des monats usw.)allerdings fehlt mir irgendwie der ansatz, wie man das sinnvoll implementieren kann.
man könnte alle termine im vorfeld berechnen und diese eintragen (vielleicht noch auf eine reihung verweisen), aber wie lange trägt man dann ein und wann wird neu berechnet?
man könnte auch nur die tage die grad angezeigt (oder sonstwie verarbeitet) werden berechnen lassen. aber wie mach ich das dann.
vorallem in welcher datenstruktur kann ich solche informationen (jeden 2. samstag, jeden 2. samstag im monat, immre am 12. des monats usw.) sinnvoll ablegen. das sind ja alles sehr verschiedene fälle.
vielleicht denk ich auch wieder viel zu kompliziert. wäre super wenn mir jemand nen ansatz geben könnte
danke und mfg
-
Fuer wiederkehrernde Termine kannst Du eine Art Tabelle wie crontab machen. Da stehen alle Informationen drin, wie gebraucht werden.
Fuer einzelne Termine wuerde ich eine sepearate Datei machen, wo die Termine sortiert nach Datum aufgelistet sind. Nix wildes...Ivo
-
das hat mir jetzt leider nicht so geholfen...
seperate datei für einzelne termine ist klar. das ist ja auch nicht das problem.
hab mir crontab angeguckt, das ist sehr simpel und leider absolut nicht in der art und weise möglich wie ich es beschrieben habe.
dort ist es ja wirklich rein nummerell, wie zB jeden 2. tag der woche, jeden 3. des monats. ich will aber auch zB jeden 2. samstag im monat oder jeden letzten samstag im monat. wie ich das programmieren könnte um herauszufinden welcher das ist, bekomm ich hin. das problem ist nur, dies in einer datenstruktur abzubilden.
-
für jeden 2. Samstag im Monat: warum nicht ?
0 0 8-14 * 6
-
hi
kannte die crontabs vorher nicht und musste mich erstmal kurz neu informieren. hab die tabelle wohl falsch eingeschätzt (ein blick reicht manchmal wohl doch nicht).das würde jetzt wohl heissen: "8-14. tag, (aber nur wenn) 6. tag der woche" kommt wohl hin.
und letzter samstag im monat wäre dann
* * 24-31 * 6
?
sry, muss mich da erstmal reindenken.danke für die hilfe. scheint wohl zu klappen.
-
thonielx schrieb:
und letzter samstag im monat wäre dann
* * 24-31 * 6
?das läßt sich vermutlich nicht in einer Zeile für alle Monate gleichzeitig unterbringen.
x y 25-31 * 6 x y 24-30 * 6 x y 22-28 * 6
je nachdem, wieviele Tage der Monat hat.
wobei x = Minute und y = Stunde des Termins.
Ps. * * 24-31 * 6 läßt den cron übrigens 1440-mal an diesem Tag anspringen
-
heh, ja die sternchen wären etwas ungeschickt xD
danke für die hilfe
-
crontab für den letzten Samstag in jedem Monat, 0 Uhr 0:
0 0 25-31 1,3,5,7,8,10,12 6 /b1n/foo 2>/dev/zero 0 0 24-30 4,6,9,11 6 0 0 22-28 2 6 # in Schaltjahren: 23-29
-
ok fast alles lässt sich damit ja jetzt unterbringen.. aber wie würde ich zB alle 2 wochen machen? startdatum beliebig.
ich könnte das natürlich berechnen(startdatum heute)
0 0 16,30 12 2
0 0 13,27 1 2
...aber das würde ja wiedereinmal den rahmen sprengen.
-
ok vergesst es. sollte nicht zu frühzeitig posten. gibt ja "/"