Перайсці да асноўнага зместу
LibraTool logoLibraTool

Калькулятар розніцы дат — бясплатна

Разлічвайце дакладную розніцу паміж двума датамі — гады, месяцы, дні, тыдні, рабочыя дні (за выключэннем выходных), гадзіны і хвіліны.

Працуе афлайн пасля загрузкі

Хуткія шаблоны

Абярыце обе даты, каб убачыць розніцу.

Тыповыя выкарыстанні

  • Разлічыце дні да датай нарадзенняАдлічыце атрыманняе да датай нарадзення дзіцяці — даведайцеся дакладна, колькі тыдняў, дзён і гадзін да дзеля дня.
  • Дні да вашай адпусткіАдлічыце адпусткі з рабочымі днямі, агульнымі днямі і тыднямі, што хватаюць для мэт планавання.
  • Рабочыя дні да крайнага тэрміна праектаРазлічыце дакладную колькасць рабочых дзён (выключаючы вікенды) паміж сегоднясняй датай і крайнім тэрміном праекта.
  • Разлічыце дні розвязняцьсяівання разамДаведайцеся дакладна, колькі дзён, месяцаў і гадаў вы праводзіце разам з кімсьцьмі спецыяльнымі.
  • Калькулятар розніцы ў ўзросце паміж двума людзьміРазлічыце дакладную розніцу ў ўзросце паміж двума днямі нараджэння — гады, месяцы і дні.

Як гэта працуе

Усё вылічэнне выконваецца цалкам у браўзеры з дапамогай уласнаручна напісанай арыфметыкі UTC — без знешняй бібліятэкі, без запыту да сервера. Інструмент разбірае радкі YYYY-MM-DD на каляндарныя кампаненты, вылічвае розніцы з дапамогай пазнак часу ў мілісекундах Date.UTC(), каб пазбегнуць дрэйфу з-за летняга часу, і паўтарае дзень за днём, каб падлічыць працоўныя дні панядзелак-пятніца.

  1. 1
    Бяспечны разбор дат
    Кожны радок даты правяраецца рэгулярным выразам, а потым перабудоўваецца праз Date.UTC() — а не new Date(string) — так што карыстальнікі на захад ад UTC ніколі не бачаць зруху дня тыдня, выкліканага лакальнай трактоўкай гадзіннага пояса браўзера для ўводу толькі даты.
  2. 2
    Аднімае ў мілісекундах UTC
    Дзве каляндарныя даты пераводзяцца ў пазнакі часу поўначы UTC з дапамогай Date.UTC(y, m, d). Цэлалікавае дзяленне на 86 400 000 мс дае дакладны падлік цэлых дзён, які нячулы да пераходаў на летні час, якія іначай могуць зрабіць дзень даўжынёй у 23 ці 25 гадзін.
  3. 3
    Каляндарная разбіўка і падлік працоўных дзён
    Уласнаручна напісанае разбіванне на год/месяц/дзень апрацоўвае няправільнасці даўжыні месяца (пазычаючы дні з папярэдняга месяца пры неабходнасці). Асобны цыкл праходзіцца праз кожны дзень UTC паміж дзвюма датамі і павялічвае лічыльнік толькі для панядзелка-пятніцы (getUTCDay() !== 0 ці 6), даючы дакладную суму працоўных дзён незалежна ад лакалі.
  4. 4
    Вынікі адлюстроўваюцца ва ўсіх адзінках
    Сумы фарматуюцца з дапамогай toLocaleString(), выкарыстоўваючы лакаль старонкі для чуйнага да лакалі групавання лічбаў, потым паказваюцца адначасова як гады/месяцы/дні, агульная колькасць дзён, працоўныя дні, тыдні, гадзіны і хвіліны. Бягучая пара дат запісваецца ў URL праз history.replaceState, так што любы вынік можна захаваць у закладкі ці падзяліцца як прамую спасылку.

Звязаныя інструменты

Часта задаюць пытанні