Калкулатор на разлика между дати — безплатно
Изчислете точната разлика между две дати — години, месеци, дни, седмици, работни дни (без почивни дни), часове и минути.
Бързи пресети
Често срещани употреби
- Изчислете дните до датата на ражданетоОбратно броене до датата на раждането на бебето — разберете точно колко седмици, дни и часа остават до великия ден.
- Дни до вашия отпускОбратно броене до пътешествието с работни дни, общи дни и оставащи седмици за планиране.
- Работни дни до крайния срок на проектаИзчислете точния брой работни дни (с изключение на уикендите) между днес и крайния срок на проекта.
- Изчислете дните на годишнина заедноРазберете точно колко дни, месеца и години сте заедно с някого специален.
- Калкулатор на разлика във възрастта между двама човекаИзчислете точната разлика във възрастта между два рождени дни — години, месеца и дни на раздяла.
Как работи
Цялото изчисление се извършва изцяло в браузъра чрез ръчно написана UTC аритметика — без външна библиотека, без заявка към сървъра. Инструментът анализира низове ГГГГ-ММ-ДД в календарни компоненти, изчислява разлики чрез времеви маркери в милисекунди Date.UTC(), за да избегне отместване от лятното часово време, и итерира ден по ден, за да преброи работните дни от понеделник до петък.
- 1Безопасен анализ на датаВсеки низ с дата се валидира с регулярен израз и след това се възстановява чрез Date.UTC() — не new Date(string) — така че потребители западно от UTC никога не виждат изместване на деня от седмицата, причинено от интерпретацията на браузъра на входове само с дата спрямо местната часова зона.
- 2Изваждане в милисекунди по UTCДвете календарни дати се преобразуват в времеви маркери за полунощ по UTC с Date.UTC(y, m, d). Целочислено деление на 86 400 000 мс дава точен брой цели дни, който е имунизиран срещу преходите на лятното часово време, което иначе може да направи ден да изглежда с дължина 23 или 25 часа.
- 3Календарна разбивка и брой работни дниРъчно написана декомпозиция на година/месец/ден обработва неравномерностите в дължината на месеците (заемайки дни от предходния месец при нужда). Отделен цикъл обхожда всеки UTC ден между двете дати и увеличава брояч само за понеделник–петък (getUTCDay() !== 0 или 6), произвеждайки точен общ брой работни дни независимо от локала.
- 4Резултатите се показват във всички единициОбщите стойности се форматират с toLocaleString(), използвайки локала на страницата за групиране на цифри, съобразено с локала, след което се показват едновременно като години/месеци/дни, общо дни, работни дни, седмици, часове и минути. Текущата двойка дати се записва в URL адреса чрез history.replaceState, така че всеки резултат може да бъде отметнат или споделен като директен линк.
Свързани инструменти
Калкулатор на работни дни
Пребройте работните дни между дати или добавете/извадете работни дни от дата. Конфигурируемо третиране на почивните дни и списък с празници.
Тест на сензорен екран
Рисувайте с пръсти, за да откриете мъртви зони на сензорния си екран, пребройте колко докосвания регистрира наведнъж и вижте силата на натиск и размера на контакта.
Калкулатор на време
Събирайте или изваждайте продължителности в HH:MM:SS или намерете времето между две клейма. Полезен за работни журнали, разбивки на обиколки и проследяване на проекти.