Kalkulator dni między datami
Policz liczbę dni pomiędzy dwiema datami (kalendarzowych i roboczych), z opcjami wliczania dat granicznych.
Spis treści
Jak działa kalkulator
Kalkulator wyznacza odstęp między datami z pól „Data początkowa” i „Data końcowa”. Zwraca: dni kalendarzowe, dni robocze (pn–pt), liczbę dni weekendowych oraz przybliżenia w tygodniach, miesiącach i latach. O tym, czy dni graniczne wchodzą do wyniku, decydują przełączniki „Wliczaj datę początkową” (domyślnie wyłączony) i „Wliczaj datę końcową” (domyślnie włączony), przy tych ustawieniach wynik to klasyczna różnica dat.
Po zaznaczeniu „Odejmij weekendy” pojawia się pole „Święta do odjęcia”, w którym ręcznie podajesz liczbę świąt wypadających w dni robocze. Osobny moduł „Przesunięcie daty” (opcje zaawansowane) liczy „Datę po przesunięciu”: do daty bazowej dodaje lub odejmuje wskazaną liczbę dni, kalendarzowych albo wyłącznie roboczych, i podaje jej dzień tygodnia.
Jak liczymy (metodologia i wzory)
Liczenie zakresu
Każda data jest zamieniana na indeks dnia: indeks = ⌊czas_UTC_ms / 86 400 000⌋ (pełne doby, bez godzin i stref czasowych). Granice zakresu: początek = data_początkowa + (wliczaj_początek ? 0 : 1), koniec = data_końcowa − (wliczaj_koniec ? 0 : 1), a wynik to dni_kalendarzowe = koniec − początek + 1 (minimum 0). Przy ustawieniach domyślnych (początek niewliczany, koniec wliczany) wynik równa się prostej różnicy dat: 2026-01-01 → 2026-02-01 daje 31 dni. Data końcowa wcześniejsza niż początkowa zwraca komunikat błędu, a zakres obejmujący 0 dni, komunikat „Pusty zakres”.
Dni robocze i święta
Dni robocze liczone są wzorem dni_robocze_brutto = ⌊dni/7⌋ × 5 + dni_pn–pt_z_reszty, pełne tygodnie dają po 5 dni, a pozostałe dni sprawdzane są pojedynczo z pominięciem sobót i niedziel. Weekendy = dni_kalendarzowe − dni_robocze_brutto. Liczba z pola „Święta do odjęcia” (przycinana do zakresu 0–100 000) nie może przekroczyć liczby dni roboczych: święta_odjęte = min(święta, dni_robocze_brutto), ostatecznie dni_robocze = max(0, dni_robocze_brutto − święta_odjęte).
Przeliczenia przybliżone
| Jednostka | Przelicznik | Wzór |
|---|---|---|
| tydzień | 7 dni | tygodnie = dni / 7 |
| miesiąc (średni) | 30,4375 dnia | miesiące = dni / 30,4375 |
| rok (średni gregoriański) | 365,2425 dnia | lata = dni / 365,2425 |
Wyniki przybliżone są zaokrąglane do liczby miejsc z pola „Miejsca po przecinku”: 2 to wartość domyślna, można zmienić w trybie zaawansowanym (zakres 0–4). Liczby dni prezentowane są jako całkowite (obcięcie części ułamkowej), w polskim formacie liczbowym.
Przesunięcie daty (tryb zaawansowany)
Domyślnie data_po = data_bazowa + przesunięcie × 1 doba; przesunięcie (domyślnie +30 dni, można zmienić w trybie zaawansowanym) jest przycinane do ±200 000 dni. Po włączeniu „Przesuwaj po dniach roboczych” algorytm iteruje dzień po dniu, pomijając soboty i niedziele, a wartość pola „Święta do pominięcia” dodaje kolejne pomijane kroki. Limit bezpieczeństwa iteracji to min(kroki × 3 + 31, 500 000), po jego przekroczeniu wynik pokazuje „-”.
FAQ
Jak policzyć liczbę dni między datami?
Kalkulator zamienia daty na pełne doby i liczy różnicę. Możesz wybrać, czy wliczać dzień początkowy i końcowy do wyniku.
Czy różnica dni obejmuje datę końcową?
Zależy od ustawienia, domyślnie liczona jest liczba dni między datami, ale opcjami możesz wliczyć lub wyłączyć dzień początku i końca.
Ile dni ma dany okres?
Kalkulator poda liczbę dni kalendarzowych między dowolnymi dwiema datami, ignorując godziny i strefy czasowe (liczy pełne doby).
Założenia i ograniczenia
- Kalkulator nie zna kalendarza polskich świąt: liczbę świąt wypadających w dni robocze podajesz ręcznie, więc wynik „dni robocze” jest tak dokładny, jak podana przez Ciebie liczba.
- Dni robocze to sztywno poniedziałek–piątek; kalkulator nie uwzględnia pracujących sobót, harmonogramów zmianowych ani indywidualnych rozkładów czasu pracy.
- Obliczenia działają na pełnych dobach (UTC), godziny, minuty i zmiana czasu letni/zimowy nie wpływają na wynik.
- Tygodnie, miesiące i lata to przybliżenia oparte na średnich długościach (30,4375 oraz 365,2425 dnia), rzeczywiste miesiące kalendarzowe mają od 28 do 31 dni.
- „Święta do pominięcia” w module przesunięcia to umowna liczba dodatkowych dni, niepowiązana z konkretnymi datami w kalendarzu.
- Wynik nie stanowi wykładni terminów prawnych, procedury (np. KPA, KPC, Ordynacja podatkowa) liczą terminy według własnych reguł, m.in. przesuwając koniec terminu z dnia wolnego na następny dzień roboczy.
Źródła i aktualizacja
- Ustawa z dnia 18 stycznia 1951 r. o dniach wolnych od pracy (Dz.U. 1951 nr 4 poz. 28), ustawowa lista dni wolnych od pracy w Polsce; tu sprawdzisz, ile świąt wypada w dni robocze w Twoim zakresie (kalkulator ich sam nie zna) (dostęp: 10.07.2026)
- U.S. Naval Observatory, Introduction to Calendars, kalendarz gregoriański i średnia długość roku 365,2425 dnia, użyta w przeliczeniu dni na lata (dostęp: 10.07.2026)
- Główny Urząd Miar, państwowa instytucja odpowiedzialna m.in. za czas urzędowy w Polsce (dostęp: 10.07.2026)