LibraTool logoLibraTool

Бесплатен Калкулатор за разлика во датуми

Пресметајте ја точната разлика меѓу два датуми — години, месеци, денови, недели, работни денови (без викенди), часови и минути.

Работи офлајн откако ќе се вчита

Брзи пресети

Изберете ги двата датума за да ја видите разликата.

Како функционира

Целата пресметка работи целосно во прелистувачот користејќи рачно напишана UTC аритметика — без надворешна библиотека, без барање до сервер. Алатката ги парсира низите ГГГГ-ММ-ДД во календарски компоненти, пресметува разлики користејќи временски печати во милисекунди Date.UTC() за да избегне отстапување поради летното сметање на времето, и итерира ден по ден за да ги брои работните денови понеделник-петок.

  1. 1
    Безбедно парсирање датуми
    Секоја низа со датум се проверува со регуларен израз и потоа се реконструира преку Date.UTC() — не new Date(string) — така што корисниците западно од UTC никогаш не гледаат поместување на денот во неделата предизвикано од толкувањето на локалната временска зона на прелистувачот за датумски влезови.
  2. 2
    Одзвемање во UTC милисекунди
    Двата календарски датуми се конвертираат во UTC временски печати на полноќ со Date.UTC(y, m, d). Целобројно делење со 86.400.000 ms дава точен целоденски број имун на транзиции на летното сметање на времето, кои во спротивно можат некој ден да го направат да изгледа 23 или 25 часа долг.
  3. 3
    Разбивка на календарот и број на работни денови
    Рачно напишана декомпозиција на година/месец/ден ги ракува нередовностите во должина на месецот (позајмувајќи денови од претходниот месец кога е потребно). Посебна јамка чекори низ секој UTC ден помеѓу двата датума и го зголемува бројачот само за понеделник-петок (getUTCDay() !== 0 или 6), произведувајќи точен вкупен број работни денови без разлика на локал.
  4. 4
    Резултатите прикажани во сите единици
    Вкупните износи се форматираат со toLocaleString() користејќи го локалот на страницата за групирање цифри свесно за локал, потоа се прикажуваат истовремено како години/месеци/денови, вкупно денови, работни денови, недели, часови и минути. Тековниот пар датуми се запишува во URL-то преку history.replaceState така што секој резултат може да се обележи или сподели како директна врска.

Поврзани алатки

Најчесто поставувани прашања