Metodyka Obliczeń

Szczegółowe wyjaśnienie algorytmów i logiki obliczeniowej

Przegląd algorytmu

Nasz kalkulator dni roboczych wykorzystuje zaawansowane algorytmy do precyzyjnego obliczania liczby dni pracujących w podanym zakresie dat. Proces obliczeniowy składa się z kilku kluczowych etapów:

  1. Wyznaczenie całkowitej liczby dni kalendarzowych między datami
  2. Identyfikacja wszystkich weekendów (sobót i niedziel)
  3. Obliczenie świąt stałych dla każdego roku w zakresie
  4. Obliczenie świąt ruchomych przy użyciu algorytmu Gaussa
  5. Odjęcie weekendów i świąt od całkowitej liczby dni

Algorytm Gaussa - obliczanie Wielkanocy

Kluczowym elementem naszego kalkulatora jest algorytm Gaussa, który pozwala wyznaczyć datę Niedzieli Wielkanocnej dla dowolnego roku. Jest to niezbędne do obliczenia dat świąt ruchomych:

  • Poniedziałek Wielkanocny - 1 dzień po Wielkanocy
  • Zielone Świątki - 49 dni po Wielkanocy
  • Boże Ciało - 60 dni po Wielkanocy
Implementacja algorytmu Gaussa
function calculateEaster(year: number): Date {
  const a = year % 19
  const b = Math.floor(year / 100)
  const c = year % 100
  const d = Math.floor(b / 4)
  const e = b % 4
  const f = Math.floor((b + 8) / 25)
  const g = Math.floor((b - f + 1) / 3)
  const h = (19 * a + b - d - g + 15) % 30
  const i = Math.floor(c / 4)
  const k = c % 4
  const l = (32 + 2 * e + 2 * i - h - k) % 7
  const m = Math.floor((a + 11 * h + 22 * l) / 451)
  const month = Math.floor((h + l - 7 * m + 114) / 31) - 1
  const day = ((h + l - 7 * m + 114) % 31) + 1
  
  return new Date(year, month, day)
}

Algorytm Gaussa jest matematycznie dokładny i działa dla wszystkich lat kalendarzowych. Wykorzystuje on cykle astronomiczne (cykl Metona oraz cykl solarny) do precyzyjnego wyznaczenia daty pierwszej pełni księżyca po równonocy wiosennej.

Polskie święta stałe

Poniżej znajduje się lista wszystkich świąt o stałej dacie, które są uwzględniane w obliczeniach zgodnie z polskim prawem:

Nowy Rok

1 stycznia

Święto Trzech Króli

6 stycznia

Święto Pracy

1 maja

Święto Konstytucji 3 Maja

3 maja

Wniebowzięcie NMP

15 sierpnia

Wszystkich Świętych

1 listopada

Święto Niepodległości

11 listopada

Boże Narodzenie

25 grudnia

Drugi dzień Bożego Narodzenia

26 grudnia

Święta ruchome

Cztery polskie święta mają charakter ruchomy - ich data zmienia się każdego roku w zależności od daty Wielkanocy:

Niedziela Wielkanocna

Obliczana algorytmem Gaussa

20 kwietnia 2025

Poniedziałek Wielkanocny

Wielkanoc + 1 dzień

21 kwietnia 2025

Zielone Świątki

Wielkanoc + 49 dni

8 czerwca 2025

Boże Ciało

Wielkanoc + 60 dni

19 czerwca 2025

Obsługa lat przestępnych

Nasz kalkulator automatycznie uwzględnia lata przestępne przy obliczaniu liczby dni. Rok jest przestępny, gdy:

  • Jest podzielny przez 4, ale nie przez 100, lub
  • Jest podzielny przez 400

Na przykład: 2024 jest rokiem przestępnym (podzielny przez 4), 2100 nie będzie (podzielny przez 100, ale nie przez 400), 2000 był (podzielny przez 400).

Dokładność obliczeń

Nasze algorytmy są regularnie weryfikowane i testowane, aby zapewnić maksymalną dokładność obliczeń. Wszystkie święta są zgodne z oficjalnym kalendarzem polskich dni wolnych od pracy.

Ważne zastrzeżenie: Wyniki kalkulatora mają charakter informacyjny i nie zastępują profesjonalnej porady kadrowo-płacowej. W przypadku wątpliwości zalecamy konsultację ze specjalistą HR lub prawnikiem.