ToolActToolAct

Калькулятор Срока Годности

Расчёт даты истечения, управление сроком хранения

Что такое Калькулятор Срока Годности?

Калькулятор срока годности - онлайн инструмент для расчёта даты истечения или оценки даты производства. Введите дату производства и срок хранения для точной даты истечения, или дату истечения для обратного расчёта. Поддерживает несколько продуктов с напоминанием оставшихся дней.

Локальное выполнение в браузере, без загрузки данных, защита приватности.

В расчетах срока годности или окончания важно понимать, считаются ли календарные дни, рабочие дни, месяцы или фиксированные часы. Продукты, лекарства, договоры, сертификаты, купоны и проектные сроки могут иметь разные правила для начального дня, конечного дня, часового пояса и округления. Инструмент дает быструю ориентировку, но юридически, медицински и финансово значимые сроки нужно сверять с исходной формулировкой и применимым правилом.

Как использовать

Как использовать

  1. Выберите режим расчёта: Производство→Срок годности или Срок годности→Производство
  2. Введите дату и количество дней хранения
  3. Нажмите Calculate, чтобы увидеть результат
  4. Добавьте в список продукции для пакетной обработки

Проверка результатов

  • Уточните, с какого момента отсчитывается срок хранения: дата производства, дата упаковки, дата вскрытия или дата получения — эти правила не взаимозаменяемы.
  • Для продуктов питания, лекарств и регулируемых товаров руководствуйтесь данными на этикетке и местными нормативами как окончательным ориентиром.

Применение

Расчёт даты истечения по дате производства и сроку храненияВведите дату производства, срок хранения и единицу — дни, месяцы или годы — чтобы получить целевую дату истечения, оставшиеся дни и статус свежести. Счётчик оставшихся дней вычисляется относительно текущей даты браузера, поэтому устройство с неверными часами будет показывать ошибочную зону свежести до исправления системного времени.
Обратный расчёт от даты истеченияПереключите режим для оценки даты производства по известной дате истечения и сроку хранения — полезно при проверке этикеток, инвентарных записей или партийной документации. Сохраните единицу срока и опорную дату рядом с результатом, чтобы расчёт можно было воспроизвести позже.
Ведение небольшого списка отслеживаемых товаровДобавляйте именованные результаты на страницу для сравнения свежих, скоро истекающих и просроченных товаров. Сроки в месяцах и годах упрощены до 30 и 365 дней, поэтому для регулируемых товаров по-прежнему нужны официальные нормы. Напоминание работает через Notification API браузера, поэтому первый запрос на разрешение должен быть подтверждён для каждого сайта, а отклонённое разрешение остаётся в силе, пока пользователь не изменит его в настройках сайта.
Осторожность с месячными и годовыми сроками храненияСтраница считает один месяц равным 30 дням, а один год — 365 дням, поэтому продукт с маркировкой «годен в течение 18 месяцев» может отличаться на несколько дней от печати на упаковке. Перепроверяйте по печатной дате на регулируемых товарах, прежде чем их выбрасывать, и помните, что регулируемые категории (детское питание, продукты крови, рецептурные лекарства) часто требуют печатного партийного кода на оригинальной упаковке, а не расчётной оценки.
Использование пакетного списка для планирования ротации покупокДобавьте несколько товаров из кладовой или аптечки сразу, и напоминание о сроках покажет, какие из них нужно использовать в первую очередь. Список на странице хранится в localStorage, который большинство браузеров ограничивает 5–10 МБ на источник, поэтому большой личный инвентарь работает нормально; когда localStorage заполнится, страница переключится на хранение в памяти, и сохранённый список будет потерян при перезагрузке — тогда ручной экспорт в файл заметок станет надёжным вариантом.

Технический принцип

Расчёт срока годности — это целочисленная арифметика дат, привязанная к дате производства. Прямой путь вычисляет expiry = production + shelf_life_days с помощью Date.setDate(date.getDate() + n), который нативно обрабатывает переход через границы месяцев и лет (например, 2025-01-31 + 30 = 2025-03-02, поскольку в феврале 28 дней). Обратный путь вычисляет production = expiry - shelf_life_days аналогичным способом. Чтобы избежать смещения DST около полуночи по местному времени, страница привязывает арифметику к UTC через Date.UTC(y, m, d) и прибавляет целые миллисекунды (n * 86400000), потому что Date.setDate в местном времени пересекает границы DST с часовым смещением, которое может перевернуть видимую дату при переходах в марте и ноябре в США, в октябре в ЕС. Единицы срока хранения нормализуются в дни перед сложением: 1 месяц считается как 30 дней, а 1 год — как 365 дней, что соответствует эвристике, используемой на большинстве потребительских упаковок, но не календарно точному правилу регуляторов. Общий стандарт Codex Alimentarius для маркировки фасованных пищевых продуктов (CXS 1-1985, пересмотренный) и китайский GB 7718-2025 указывают срок хранения от даты изготовления или упаковки; срок годности лекарств следует руководствам ICH Q1A (R2) по стабильности и округляет печатный срок до последнего дня месяца (так, лекарство, произведённое 2024-08-15 со сроком хранения 18 месяцев, маркируется 2026-02-28, а не 2026-02-15). Счётчик оставшихся дней — это (expiry_utc - now_utc) / 86400000, округлённый Math.floor для уже истёкших дней и Math.ceil для времени до истечения, а полоса свежести — пороговое сравнение: просрочено при remaining < 0, скоро истекает при 0 ≤ remaining ≤ 30, свежее в остальных случаях. Постоянный список наблюдения хранится в window.localStorage под одним пространством имён, сериализуется через JSON.stringify, который большинство браузеров ограничивает примерно 5–10 МБ на источник (Chrome ~10 МБ, Safari ~5 МБ). При превышении квоты браузер выбрасывает DOMException с именем 'QuotaExceededError', и страница должна вернуться к хранению в памяти, поскольку записи после выброса молча игнорируются. localStorage также синхронный и привязан к источнику, поэтому записи сохраняются при перезагрузке страницы, но никогда не покидают устройство. Notification API браузера (который использует напоминание) требует Notification.requestPermission(), разрешение выдаётся на источник, а в Chrome на Windows ≥ 86 фактически отображается через центр уведомлений ОС, а не через сам браузер.

  • Арифметика дат: Date.setDate(d.getDate() + n) нативно обрабатывает переход через месяцы и годы, но в местном времени пересекает границы DST и может перевернуть дату; Date.UTC + целые мс — безопасный путь.
  • Нормализация единиц: 1 месяц ≈ 30 дней, 1 год ≈ 365 дней — просто, но не календарно точно; этикетки лекарств следуют ICH Q1A (R2) и округляют до последнего дня месяца истечения.
  • Оставшиеся дни = Math.floor((expiry_utc - now_utc) / 86400000); пороги: remaining < 0 → просрочено, 0 ≤ remaining ≤ 30 → скоро истекает, иначе свежее.
  • Нормативные ориентиры различаются: срок годности продуктов питания — по Codex CXS 1-1985 / GB 7718-2025 (от производства или упаковки); косметика использует PAO (Period After Opening) с первого применения; лекарства — по ICH Q1A.
  • Срок после вскрытия независим от печатного срока годности и короче (например, открытое оливковое масло ~3 месяца при 24-месячном запечатанном сроке); отслеживайте дату вскрытия отдельно.
  • Квота localStorage — ~5–10 МБ на источник и выбрасывает QuotaExceededError (DOMException) при заполнении; записи после выброса молча игнорируются, поэтому оборачивайте setItem в try/catch и предупреждайте пользователя.
  • Рассинхронизация часов браузера (неверно настроенная системная дата) смещает полосу свежести; страница читает new Date(), а не удалённый источник времени, поэтому наследует любую ошибку часов на стороне клиента.

Примеры

Производство 2026-01-01 + 730 дней = 2027-12-31

Режим: Производство -> Срок годности
Дата производства: 2026-01-01
Срок хранения: 730 дней (2 года)
Дата истечения: 2027-12-31
Статус: ещё в пределах срока годности

Фармацевтика: срок годности 18 месяцев

Серия препарата: A26-0215
Производство: 2026-02-15
Срок годности: 18 месяцев (примерно 548 дней)
Истечение: 2027-08-15
Примечание на этикетке — фарм-правило: срок истекает в последний день
месяца, поэтому напечатанная дата может быть 2027-08-31

Обратный расчёт: Срок годности -> Производство

Режим: Срок годности -> Производство
Напечатанный срок годности на упаковке: 2028-06-30
Срок хранения: 36 месяцев
Произведено не позднее: 2025-06-30
Используйте это для проверки заявленной поставщиком даты производства
на соответствие маркировке партии.

Проверка хранения продуктов

Товар: Оливковое масло 500 мл
Производство: 2025-12-01
Срок годности: 24 месяца
Истечение: 2027-12-01
Проверка:  в пределах срока годности; ротация запасов по FIFO и планирование скидки за ~30 дней до истечения

Часто задаваемые вопросы

Как вычисляется дата истечения срока?

Дата производства + срок годности = дата истечения. Срок можно указать в днях, неделях, месяцах или годах. При добавлении месяцев дата ограничивается последним днём целевого месяца (так что 31 января + 1 месяц = 28/29 февраля), что соответствует тому, как большинство регуляторов трактует фразу «X месяцев с момента производства».

Оставшиеся дни считаются от сегодняшней даты?

Да. Инструмент показывает оставшиеся дни, недели и месяцы от сегодняшней даты в вашем часовом поясе. Отрицательные числа означают, что срок годности уже истёк. Метка статуса (свежий / срок подходит к концу / просрочен) помогает быстро принять решение.

В чём разница между «годен до» и «употребить до»?

«Годен до» — это дата качества: продукт после неё ещё безопасен, просто может потерять вкус или текстуру. «Употребить до» — это дата безопасности: после неё продукт может быть опасен для здоровья. У косметики и лекарств часто есть символ PAO (срок после вскрытия), который заменяет напечатанную дату после открытия упаковки.

Учитываются ли в расчёте условия хранения?

Нет. Напечатанные сроки годности рассчитаны на рекомендованные производителем условия (прохладное, сухое место, герметичная упаковка, холодильник, морозильник). Жара, влажность и свет сокращают реальный срок хранения, и инструмент это смоделировать не может. Считайте рассчитанную дату верхней границей.

Что делать с «просроченной» едой или лекарствами?

Невскрытые консервы и сухие крупы немного после «годен до» обычно безопасны — оцените внешний вид и запах. Молочное, мясо и рыбу после «употребить до» лучше выбросить. Просроченные лекарства могут терять эффективность, а некоторые становятся небезопасными; не полагайтесь на них при серьёзном лечении.

Можно ли отслеживать сразу несколько продуктов?

Откройте дополнительные вкладки — каждая работает независимо. Инструмент не хранит сохранённый список товаров. Для постоянного учёта удобнее приложение для инвентаризации или обычная таблица.

Загружаются ли мои данные?

Нет. Расчёт выполняется в вашем браузере и не сохраняется между сессиями.

Похожие инструменты

Инструмент преобразования меток времени

Бесплатный онлайн-конвертер Unix-меток времени в дату и обратно. Поддержка секунд, миллисекунд и нескольких часовых поясов — удобно для отладки и логов.

Калькулятор Разницы Дат

Бесплатный онлайн калькулятор разницы дат. Вычисляет дни, недели, месяцы, годы между двумя датами. Точные расчёты с отображением часов, минут, секунд.

Калькулятор Сложения/Вычитания Дат

Бесплатный онлайн калькулятор сложения/вычитания дат. Добавляет или вычитает дни, недели, месяцы, годы из даты. Быстрые опции для мгновенных расчётов.

Таймер обратного отсчета

Бесплатный онлайн-таймер обратного отсчёта: задайте целевое время, добавьте напоминание и следите за отсчётом с точностью до секунды для любых событий.

Калькулятор продолжительности жизни

Бесплатный онлайн-калькулятор прожитой жизни: по дате рождения и ожидаемой продолжительности наглядно показывает, какую часть жизни вы уже прожили.

Калькулятор Рабочих Дней

Бесплатный онлайн калькулятор рабочих дней. Подсчитывает фактические рабочие дни в диапазоне дат, исключая выходные и праздники. Идеален для планирования проектов.