Co to jest przesunięcie daty?

Przesunięcie daty to stała lub zmienna ilość czasu dodana do lub odjęta od daty odniesienia w celu uzyskania nowej daty. Przesunięcia można wyrażać w wielu jednostkach — latach, miesiącach, tygodniach, dniach, godzinach, minutach, sekundach, a nawet milisekundach — i są fundamentalne dla planowania harmonogramów, planowania projektów i obliczeń związanych z czasem. Na przykład dodanie 90 dni do daty podpisania umowy daje termin dostawy, a odjęcie 2 tygodni od daty uruchomienia mówi Ci, kiedy musi się rozpocząć ostateczne testowanie.

Arytmetyka dat jest trudniejsza niż się wydaje. Miesiące mają różne długości, lata przestępne dodają dodatkowy dzień, a obliczenia dni roboczych muszą pomijać weekendy. Ręczne żonglowanie tymi przypadkami brzegowymi jest podatne na błędy, szczególnie gdy łączy się wiele jednostek — takich jak „dodaj 1 rok, 3 miesiące i 15 dni roboczych". Dedykowany kalkulator obsługuje wszystkie osobliwości kalendarza, aby uzyskać dokładny wynik za każdym razem.

Opis narzędzia

Kalkulator przesunięcia daty pozwala wybrać dowolną datę i godzinę początkową, wybrać, czy dodawać czy odejmować, i wprowadzić przesunięcia w dwunastu różnych jednostkach czasu jednocześnie. Natychmiast oblicza wynikową datę wraz z przydatnymi metadanymi, takimi jak dzień tygodnia, numer tygodnia ISO, indeks dnia roku, czy wynik przypada na rok przestępny i znacznik czasu Unix w milisekundach.

Przykłady

Data początkowa Operacja Przesunięcie Wynik
2026-01-01 Dodaj 6 miesięcy, 15 dni Czwartek, 16 lipca 2026

Funkcje

  • Połączone przesunięcia wielojednostkowe — mieszaj lata, kwartały, miesiące, tygodnie, dni, dni robocze, godziny, minuty, sekundy i milisekundy w jednym obliczeniu
  • Świadomość dni roboczych — automatycznie pomija soboty i niedziele przy obliczaniu przesunięć dni roboczych
  • Bogate szczegóły wyniku — wyświetla dzień tygodnia, dzień roku, numer tygodnia ISO, status roku przestępnego i znacznik czasu Unix obok daty wyniku
  • Operacja dwukierunkowa — przełączaj się między dodawaniem i odejmowaniem przesunięć jednym kliknięciem
  • Precyzja milisekundowa — obsługuje wejście i wyjście daty/godziny do milisekundy dla scenariuszy o wysokiej dokładności

Przypadki użycia

  • Zarządzanie projektami — obliczaj terminy dodając dni robocze lub tygodnie kalendarzowe do daty rozpoczęcia projektu, automatycznie uwzględniając weekendy
  • Planowanie prawne i finansowe — określ daty wygaśnięcia umów, terminy płatności lub okresy wypowiedzenia poprzez przesunięcie od daty odniesienia z precyzyjnymi jednostkami
  • Planowanie zdarzeń — znajdź dokładne daty dla powtarzających się kamieni milowych, takich jak „6 miesięcy i 10 dni po uruchomieniu" bez ręcznego liczenia kalendarza

Objaśnienie opcji

Opcja Opis
Data początkowa Data i godzina odniesienia, od której stosuje się przesunięcie
Operacja Wybierz Dodaj (+) aby przesunąć się do przodu w czasie lub Odejmij (−) aby przesunąć się do tyłu
Lata / Kwartały / Miesiące Przesunięcia oparte na kalendarzu; kwartały są konwertowane na przyrosty 3-miesięczne
Tygodnie / Dni Proste przesunięcia dni kalendarzowych (tygodnie = 7 dni każdy)
Dni robocze Przesunięcie tylko w dni robocze, które pomija soboty i niedziele
Godziny / Minuty / Sekundy / Milisekundy Przesunięcia czasu poniżej dnia dla precyzyjnych obliczeń czasu

Jak to działa

Kalkulator stosuje przesunięcia w określonej kolejności, aby zapewnić przewidywalne wyniki:

  1. Lata są dodawane lub odejmowane najpierw poprzez dostosowanie składnika roku daty.
  2. Kwartały i miesiące są łączone i stosowane następnie, przesuwając składnik miesiąca.
  3. Tygodnie i dni są łączone w całkowite dni i stosowane do składnika dnia.
  4. Dni robocze są następnie iterowane jeden dzień na raz, pomijając każdą sobotę lub niedzielę.
  5. Godziny, minuty, sekundy i milisekundy są stosowane ostatnie dla precyzji poniżej dnia.

Ta kolejność ma znaczenie, ponieważ jednostki oparte na kalendarzu (lata, miesiące) mogą przesunąć datę w sposób, który wpływa na kolejne obliczenia na poziomie dnia. Zastosowanie ich najpierw unika nieoczekiwanych interakcji.

FAQ

Dlaczego dodanie 1 miesiąca do 31 stycznia daje inny wynik niż oczekiwany? Miesiące mają różne długości. Obiekt Date w JavaScript obsługuje przepełnienie poprzez przesunięcie do przodu — więc 31 stycznia + 1 miesiąc staje się 3 marca w latach nie przestępnych (ponieważ luty ma tylko 28 dni). To standardowe zachowanie arytmetyki dat.

Czy obliczenie dni roboczych uwzględnia dni ustawowo wolne? Nie. Dni robocze pomijają tylko soboty i niedziele. Dni ustawowo wolne różnią się w zależności od kraju i regionu, dlatego nie są uwzględniane w obliczeniu.

Czy mogę wprowadzić liczby ujemne w polach przesunięcia? Pola przesunięcia akceptują tylko wartości nieujemne. Zamiast tego użyj rozwijanego menu Operacja aby przełączyć się między dodawaniem i odejmowaniem.