Перейти до основного вмісту
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 ms дає точну кількість цілих днів, яка не залежить від переходів на літній час, через які день інакше міг би здаватися тривалістю 23 чи 25 годин.
  3. 3
    Календарна розбивка й підрахунок робочих днів
    Власноруч написаний розклад на роки/місяці/дні враховує нерівномірну довжину місяців (позичаючи дні з попереднього місяця за потреби). Окремий цикл проходить кожен день UTC між двома датами й збільшує лічильник лише для понеділка–п’ятниці (getUTCDay() !== 0 або 6), даючи точну кількість робочих днів незалежно від локалі.
  4. 4
    Результати в усіх одиницях
    Підсумки форматуються через toLocaleString() з локаллю сторінки для групування цифр, а потім показуються одночасно як роки/місяці/дні, загальна кількість днів, робочі дні, тижні, години й хвилини. Поточна пара дат записується в URL через history.replaceState, тож будь-який результат можна додати в закладки чи поширити прямим посиланням.

Схожі інструменти

Часті запитання