niedziela, 21 listopada 2010

Obliczanie dni wolnych od pracy

Od 2011 roku wchodzą w życie nowe przepisy dotyczące dni ustawowo wolnych od pracy. Do tej pory jeżeli jakieś święto wypadło w sobotę lub niedzielę to można było wybrać sobie inny wolny dzień zamiast utraconego święta. Od 2011 jeżeli święto wypadnie w weekend to ten dodatkowy dzień wolny przepada. W zamian dostajemy wolne w święto Trzech Króli (6 stycznia). W tym poście opisałem co jest potrzebne aby obliczyć wszystkie dni wolne od pracy.
W roku mamy ich tylko 13:
 Cztery wymienione tu święta wypadają co roku innego dnia, to pierwszy i drugi dzień Wielkiej Nocy, Zesłanie Ducha Świętego i Boże Ciało. Wikipedia mówi że "Wielkanoc zawsze przypada w pierwszą niedzielę po pierwszej pełni Księżyca przypadającej po równonocy wiosennej". Na tej samej stronie można też poznać dwa algorytmy wyznaczania daty Wielkiej Nocy, metoda Gaussa oraz Meeusa/Jonesa/Buthera. Zesłanie Ducha Świętego wypada odpowiednio 49, a Boże Ciało 60 dni po Wielkiej Nocy.
Tak właściwie to już wszystkie potrzebne nam informacje. Napisałem funkcję która sprawdza czy podana data jest jednym z świąt. Pisząc ją skorzystałem z algorytmu Meeusa/Jonesa/Buthera.

Link do kodu w C#
Link do kodu w JS

5 komentarzy:

Unknown pisze...

czesc,
linki do kodu nie dzialaja

Yvus Bellator pisze...

Hej,
Linki są już poprawione :)

Unknown pisze...

super dzięki

Anonimowy pisze...

Hej linki nie działają

Yvus Bellator pisze...

Które linki dokładnie? Sprawdziłem i u mnie działa :D