dedlfix: Cronjob

Beitrag lesen

Tach!

Ist jeder zweite Freitag gemeint, oder jeder zweite Freitag im Monat? Manche Monate sollen ja durchaus fünf Freitage haben, weiß ich aus Hörensagen ;-P

ich meine jeden zweiten Freitag ab einem bestimmten Datum. Der Fall mit fünf Freitage haben wir nächsten Monat ;)

So ziemlich alles am Kalender ist unregelmäßig. Wenn du da eine Regelmäßigkeit brauchst, kommst du immer wieder zu einer der Unregelmäßigkeiten, die es zu berücksichtigen gilt. Worauf aber kann man sich verlassen? Die Woche hat immer 7 Tage. Bei einer fortlaufenden Tageszählung kommt der Freitag also abwechselnd auf eine gerade Tagesnummer oder eine ungerade. Du müsstest also testen, ob die Tageszahl gerade oder ungerade ist, je nachdem, wann dein Ereignis starten soll.

Woher kommt aber die Tageszahl? Das Jahr kann man nicht nehmen, das wechselt gelegentlich von 365 auf 366 Tage. Es gibt aber die Julianische Tagesnummer, die ohne Ausnahme fortlaufend gezählt wird. Die bekommt man mit unixtojd() aus einem Unix-Timestamp. Der Rest ist eine Modulo-Operation mit 2.

dedlfix.