Calculateur de Date d'Expiration
Calculer les dates d'expiration et gérer la durée de conservation
Qu'est-ce que le Calculateur d'Expiration?
Calculateur de Date d'Expiration est un outil online pour calculer les dates d'expiration ou estimer les dates de production. Entrez date de production et durée pour obtenir l'expiration exacte, ou date d'expiration pour calcul inverse. Supporte plusieurs produits avec rappel des jours restants.
Exécution locale, pas de upload, vie privée protégée.
Dans les calculs d’expiration ou de péremption, il faut savoir si l’on compte en jours calendaires, jours ouvrés, mois ou heures fixes. Aliments, médicaments, contrats, certificats, coupons et délais de projet peuvent appliquer des règles différentes pour jour de départ, jour final, fuseau horaire et arrondi. L’outil donne un repère rapide, mais les échéances juridiques, médicales ou financières doivent être vérifiées avec la source originale et la règle applicable.Comment utiliser
Comment utiliser
- Sélectionnez le mode de calcul : Production→Expiry ou Expiry→Production
- Entrez la date et le nombre de jours de durée de conservation
- Cliquez sur Calculer pour voir les résultats
- Ajoutez à la liste de produits pour la gestion par lots
Vérifications des résultats
- Vérifiez si la durée de conservation commence à la date de production, d'emballage, d'ouverture ou de réception ; ces règles ne sont pas interchangeables.
- Pour les aliments, médicaments ou produits réglementés, l'étiquette imprimée et la réglementation locale font foi.
Cas d’utilisation
Principe technique
Le calcul d'expiration repose sur une arithmétique entière de dates ancrée à la date de production. Le chemin direct calcule expiry = production + shelf_life_days en utilisant Date.setDate(date.getDate() + n), qui gère nativement le débordement des mois et années (ex. 2025-01-31 + 30 = 2025-03-02 car février a 28 jours). Le chemin inverse calcule production = expiry - shelf_life_days de la même manière. Pour éviter la dérive liée au changement d'heure autour de minuit en heure locale, la page ancre l'arithmétique à UTC via Date.UTC(y, m, d) et ajoute des millisecondes entières (n * 86400000), car Date.setDate en heure locale traverse les frontières de changement d'heure avec un décalage d'une heure qui peut inverser la date visible lors des transitions de mars et novembre aux États-Unis, octobre en Europe. Les unités de durée de conservation sont normalisées en jours avant l'addition : 1 mois est traité comme 30 jours et 1 an comme 365 jours, correspondant à l'heuristique utilisée sur la plupart des emballages de consommation mais pas à la règle calendaire exacte utilisée par les réglementations. Le Codex Alimentarius General Standard for the Labelling of Prepackaged Foods (CXS 1-1985, révisé) et la norme chinoise GB 7718-2025 spécifient la durée de conservation à partir de la date de fabrication ou d'emballage ; l'expiration des médicaments suit les directives de stabilité ICH Q1A (R2) et arrondit l'expiration imprimée au dernier jour du mois (ainsi un médicament fabriqué le 2024-08-15 avec une durée de conservation de 18 mois est étiqueté 2026-02-28, pas 2026-02-15). Le compteur de jours restants est (expiry_utc - now_utc) / 86400000 arrondi avec Math.floor pour les jours déjà écoulés et Math.ceil pour le temps restant, et la bande de fraîcheur est une comparaison par seuil : expiré lorsque remaining < 0, expire bientôt lorsque 0 ≤ remaining ≤ 30, frais sinon. La liste de surveillance persistante vit dans window.localStorage sous une seule clé à espace de noms, sérialisée via JSON.stringify, que la plupart des navigateurs limitent à environ 5 à 10 Mo par origine (Chrome ~10 Mo, Safari ~5 Mo). Lorsque le quota est dépassé, le navigateur lance une DOMException avec le nom 'QuotaExceededError', et la page doit revenir à un état en mémoire car les écritures après l'exception sont silencieusement abandonnées. localStorage est également synchrone et même origine, de sorte que les entrées persistent entre les rechargements de page mais ne quittent jamais l'appareil. L'API de notification du navigateur (utilisée par le rappel) nécessite Notification.requestPermission(), est accordée par origine, et sur Chrome sous Windows ≥ 86 passe effectivement par le centre de notifications du système d'exploitation plutôt que par le navigateur lui-même.
- Arithmétique des dates : Date.setDate(d.getDate() + n) gère nativement le débordement mois/année, mais en heure locale il traverse les frontières de changement d'heure et peut inverser la date ; Date.UTC + ms entières est le chemin sûr.
- Normalisation des unités : 1 mois ≈ 30 jours, 1 an ≈ 365 jours — simple mais pas exact au calendrier ; les étiquettes pharmaceutiques suivent ICH Q1A (R2) et arrondissent au dernier jour du mois d'expiration.
- Jours restants = Math.floor((expiry_utc - now_utc) / 86400000) ; seuils : remaining < 0 → expiré, 0 ≤ remaining ≤ 30 → expire bientôt, sinon frais.
- Les ancres réglementaires varient : la durée de conservation alimentaire suit Codex CXS 1-1985 / GB 7718-2025 (à partir de la production ou de l'emballage) ; les cosmétiques utilisent la PAO (Period After Opening) à partir de la première utilisation ; les médicaments utilisent la datation de stabilité ICH Q1A.
- La durée de conservation après ouverture est indépendante de l'expiration imprimée et plus courte (ex. huile d'olive ouverte ~3 mois malgré une durée de conservation scellée de 24 mois) ; suivez la date d'ouverture séparément.
- Le quota de localStorage est d'environ 5 à 10 Mo par origine et lance QuotaExceededError (DOMException) lorsqu'il est plein ; les écritures après l'exception sont silencieusement abandonnées, donc encapsulez setItem dans un try/catch et affichez un avertissement à l'utilisateur.
- La dérive de l'horloge du navigateur (une date système mal configurée) décale la bande de fraîcheur ; la page lit new Date() plutôt qu'une source de temps distante, elle hérite donc de toute erreur d'horloge côté client.
Exemples
Production 2026-01-01 + 730 jours = 2027-12-31
Mode : Production -> Péremption
Date de production : 2026-01-01
Durée de conservation : 730 jours (2 ans)
Date de péremption : 2027-12-31
Statut : encore dans la durée de conservationPharmaceutique : durée de conservation de 18 mois
Lot pharmaceutique : A26-0215
Production : 2026-02-15
Durée de conservation : 18 mois (environ 548 jours)
Péremption : 2027-08-15
Note d'étiquette - règle empirique pharma : péremption au dernier jour
du mois, donc la date imprimée peut indiquer 2027-08-31Calcul inverse : Péremption -> Production
Mode : Péremption -> Production
Péremption imprimée sur l'emballage : 2028-06-30
Durée de conservation : 36 mois
Produit le ou avant : 2025-06-30
Utilisez ceci pour vérifier la date de production déclarée par un fournisseur
par rapport à l'étiquette du lot.Contrôle de stockage alimentaire
Article : Huile d'olive 500 ml
Production : 2025-12-01
Durée de conservation : 24 mois
Péremption : 2027-12-01
Contrôle : dans la durée de conservation ; faire tourner les stocks en FIFO et prévoir une remise environ 30 jours avant la péremptionFAQ
Comment la date d'expiration est-elle calculée ?
Date de production + durée = date d'expiration. La durée accepte les jours, semaines, mois ou années. Les mois sont ajoutés en se calant sur le dernier jour du mois cible (donc 31 janv. + 1 mois = 28/29 fév.), conformément à l'interprétation par la plupart des régulateurs de « X mois après fabrication ».
Les jours restants sont-ils comptés à partir d'aujourd'hui ?
Oui. La page affiche les jours, semaines et mois restants à partir de la date d'aujourd'hui dans votre fuseau horaire local. Les nombres négatifs indiquent que le produit a dépassé sa date d'expiration. L'étiquette d'état (frais / proche de l'expiration / expiré) facilite un tri rapide.
Quelle est la différence entre date de durabilité minimale et date limite de consommation ?
La date de durabilité minimale (« à consommer de préférence avant ») est une date de qualité — l'aliment reste sûr après, il a juste pu perdre de sa saveur ou de sa texture. La date limite de consommation est une date de sécurité — les aliments peuvent présenter des risques sanitaires une fois dépassée. Les cosmétiques et médicaments comportent souvent un symbole « PAO » (période après ouverture) qui prend le pas sur l'expiration imprimée une fois ouverts.
Le résultat tient-il compte des conditions de stockage ?
Non. Les dates d'expiration imprimées supposent le stockage recommandé par le fabricant (au frais, au sec, scellé, réfrigéré, congelé). La chaleur, l'humidité et la lumière raccourcissent la durée de conservation réelle, et la page ne peut pas modéliser cela. Considérez la date calculée comme une borne supérieure.
Comment gérer un aliment ou un médicament « expiré » ?
Pour les conserves non ouvertes et les denrées sèches, un léger dépassement de la date de durabilité minimale est généralement sans risque — vérifiez l'aspect et l'odeur. Les produits laitiers, viandes et poissons dépassant la date limite de consommation doivent être jetés. Les médicaments expirés peuvent perdre en efficacité et certains sont dangereux ; ne vous y fiez pas pour des traitements sérieux.
Puis-je suivre plusieurs produits ?
Ouvrez d'autres onglets — chaque onglet est indépendant. La page ne conserve pas d'inventaire enregistré. Pour un suivi continu, une appli d'inventaire ou un simple tableur est plus pratique.
Mes données sont-elles téléversées ?
Non. Le calcul s'exécute dans votre navigateur et n'est pas enregistré entre les sessions.