Kalkulator różnicy dat za darmo
Oblicz dokładną różnicę między dwiema datami — lata, miesiące, dni, tygodnie, dni robocze (z wyłączeniem weekendów), godziny i minuty.
Szybkie szablony
Typowe zastosowania
- Oblicz Dni do Spodziewanego Terminu PoroduOdliczanie do spodziewanego terminu porodu dziecka: dowiedz się dokładnie ile tygodni, dni i godzin pozostało do wielkiego dnia.
- Dni Do Twojego UrlopuOdliczanie do podróży z dniami roboczymi, całkowitymi dniami i pozostałymi tygodniami do celów planowania.
- Dni Robocze Do Terminu ProjektuOblicz dokładną liczbę dni roboczych (z wyłączeniem weekendów) między dzisiaj a terminem projektu.
- Oblicz Dni Rocznicy RazemDowiedz się dokładnie jak wiele dni, miesięcy i lat byliście razem ze kimś specjalnym.
- Kalkulator Różnicy Wieku Między Dwoma OsobamiOblicz dokładną różnicę wieku między dwoma datami urodzin: lata, miesiące i dni oddzielone.
Jak to działa
Wszystkie obliczenia działają w całości w przeglądarce, z ręcznie napisaną arytmetyką UTC — bez zewnętrznej biblioteki i żądań do serwera. Narzędzie parsuje ciągi RRRR-MM-DD na składniki kalendarzowe, oblicza różnice za pomocą znaczników czasu Date.UTC() w milisekundach, aby uniknąć przesunięć związanych z czasem letnim, i przechodzi dzień po dniu, aby zliczyć dni robocze od poniedziałku do piątku.
- 1Bezpieczne parsowanie datKażdy ciąg daty jest sprawdzany wyrażeniem regularnym, a następnie odtwarzany przez Date.UTC() — nie new Date(string) — aby użytkownicy na zachód od UTC nigdy nie zobaczyli przesunięcia dnia tygodnia wynikającego z interpretacji samej daty w lokalnej strefie czasowej przeglądarki.
- 2Odejmowanie milisekund UTCObie daty są przeliczane na znaczniki czasu północy UTC przez Date.UTC(y, m, d). Dzielenie całkowite przez 86 400 000 ms daje dokładną liczbę pełnych dni, odporną na zmiany czasu, które w przeciwnym razie mogłyby sprawić, że dzień trwałby 23 lub 25 godzin.
- 3Podział kalendarzowy i liczba dni roboczychRęcznie napisany rozkład na lata/miesiące/dni obsługuje nieregularne długości miesięcy (pożyczając dni z poprzedniego miesiąca, gdy trzeba). Osobna pętla przechodzi przez każdy dzień UTC między datami i zwiększa licznik tylko dla dni od poniedziałku do piątku (getUTCDay() !== 0 lub 6), co daje dokładną liczbę dni roboczych niezależnie od ustawień regionalnych.
- 4Wyniki we wszystkich jednostkachSumy są formatowane przez toLocaleString() z ustawieniami regionalnymi strony (grupowanie cyfr zgodne z językiem), a następnie wyświetlane jednocześnie jako lata/miesiące/dni, łączna liczba dni, dni robocze, tygodnie, godziny i minuty. Bieżąca para dat jest zapisywana w adresie URL przez history.replaceState, więc każdy wynik można zapisać w zakładkach lub udostępnić jako bezpośredni link.
Powiązane narzędzia
Kalkulator dni roboczych
Zliczaj dni robocze między datami lub dodawaj/odejmuj dni robocze od daty. Konfigurowalna obsługa weekendów i lista świąt.
Test ekranu dotykowego
Maluj palcami, aby znaleźć martwe strefy na ekranie dotykowym, policz, ile dotknięć rejestruje on jednocześnie, i zobacz nacisk oraz rozmiar kontaktu.
Kalkulator czasu
Dodawaj lub odejmuj czasy trwania w formacie GG:MM:SS lub znajdź czas między dwoma znacznikami czasu. Przydatny do dzienników pracy, podziałów wyścigowych i śledzenia projektów.