Ajouter ou soustraire des jours à une date
Le 28 décembre 2024 plus 5 jours donne le 2 janvier 2025. Saisissez une date et un nombre de jours, positif pour avancer ou négatif pour reculer, et obtenez la date exacte du calendrier, week-ends compris. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Date
- 2024-12-28
- Jours
- 5
- Résultat
- 2025-01-02
Cette calculatrice décale une date réelle du calendrier grégorien vers l’avenir ou le passé selon un nombre entier de jours calendaires. Saisissez une date ISO stricte et une valeur positive, négative ou nulle pour obtenir la date résultante. Le calcul gère les différentes longueurs de mois, les jours bissextiles, les règles des siècles et les changements d’année sans utiliser l’horloge, le fuseau horaire ni l’heure d’été de votre appareil.
Saisissez une date précise et un nombre signé
Indiquez la date de départ au format strict YYYY-MM-DD, avec quatre chiffres pour l’année et deux pour le mois et le jour. Cette largeur fixe supprime toute ambiguïté régionale : 2026-04-09 désigne toujours le neuf avril. La date doit réellement exister dans le calendrier grégorien proleptique.
Le trente et un avril est impossible, tout comme le vingt-neuf février d’une année commune. Dans le second champ, saisissez un nombre entier de jours. Une valeur positive avance, une valeur négative recule et zéro conserve la date initiale.
Le compteur porte sur les jours calendaires : chaque minuit franchi compte une fois. Les samedis, dimanches et jours fériés sont inclus ; choisissez un outil de jours ouvrés pour les exclure. Les années 0001 à 9999 sont prises en charge, mais toute opération sortant de cette plage est refusée.
Les nombres fractionnaires, infinis, non sûrs ou absents le sont également.
Calcul des changements de période et des années bissextiles
Le moteur valide d’abord l’année, le mois et le jour selon la longueur des mois grégoriens. Février compte normalement vingt-huit jours, mais en compte vingt-neuf si l’année est divisible par quatre ; une année séculaire doit aussi être divisible par quatre cents. Ainsi, 2000 et 2024 sont bissextiles, contrairement à 1900 et 2100.
Une fois validée, la date civile devient un ordinal entier représentant sa position exacte dans le calendrier. Le nombre signé est ajouté à cet ordinal, puis le nouvel ordinal est reconverti en année, mois et jour. Cette méthode franchit naturellement la fin de février, les mois de trente jours, décembre et plusieurs années dans les deux directions.
Elle ne manipule aucune horloge et ne crée jamais de valeur Date JavaScript. Une opération fondée sur l’heure pourrait en effet hériter du fuseau ou d’un passage à l’heure d’été alors que le problème ne concerne que des dates civiles. Ici, une arithmétique entière déterministe suffit, sans réseau ni heure actuelle.
Exploitez le résultat en toute sécurité
Une réponse réussie contient la date initiale normalisée, le nombre signé de jours appliqué et la date ISO obtenue. Cette sortie compacte peut être stockée en base, comparée dans un test, ajoutée à une facture ou transmise à une étape suivante. Elle sert notamment à calculer une échéance en jours calendaires, déplacer une campagne, créer des rappels de renouvellement, fixer une limite de conservation ou préparer des résultats attendus.
Cette capacité effectue une arithmétique de calendrier, pas une arithmétique horaire : elle n’ajoute ni heure, ni fuseau, ni décalage UTC, ni politique de semaine, ni calendrier férié, ni convention ouvrée de fin de mois. Ajouter un jour mène toujours à la date civile suivante, même un dimanche ou un jour férié.
Cas d’usage
Calculer des échéances calendaires
Ajoutez un délai contractuel à une date de dépôt, d’avis, de facture ou d’activation, même lors d’un changement de mois ou d’année.
Reculer pour établir des dates limites
Employez un nombre négatif pour obtenir une limite de conservation, une fenêtre de rapport, un début de rappel ou une date historique.
Créer des jeux de test déterministes
Produisez des dates ISO attendues pour les années bissextiles et les changements de période sans dépendre de l’horloge ou du fuseau.
Questions fréquentes
Puis-je soustraire des jours au lieu d’en ajouter ?
Oui. Saisissez un entier négatif pour reculer, un entier positif pour avancer ou zéro pour conserver la date.
Le calcul gère-t-il les années bissextiles ?
Oui. Il applique les règles grégoriennes, dont l’exception séculaire : une année divisible par 100 doit aussi l’être par 400.
Quel format de date est accepté ?
Utilisez le format strict YYYY-MM-DD, par exemple 2026-08-06. Le mois et le jour ont deux chiffres et la date doit exister.
Les week-ends et jours fériés sont-ils ignorés ?
Non. Tous les jours calendaires comptent. Utilisez un calculateur de jours ouvrés si vous devez exclure les jours chômés.
Que se passe-t-il si la date initiale est invalide ?
Des dates impossibles comme 2023-02-29 ou 2026-04-31 ne sont jamais reportées automatiquement.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/math/add-subtract-days \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-12-28","days":5}'const res = await fetch("https://api.kit.forhosting.com/math/add-subtract-days", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-12-28",
"days": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/add-subtract-days",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-12-28",
"days": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/add-subtract-days", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-12-28","days":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-12-28","days":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/add-subtract-days", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"date": "2024-12-28",
"days": 5
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.add_subtract_days",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Les dates impossibles sont refusées clairement plutôt que corrigées en silence ; le résultat convient ainsi aux échéanciers, à la facturation, aux pipelines de données, aux tests et aux automatisations reproductibles par API.
Saisissez une date précise et un nombre signé
Ces règles assurent une réponse identique dans un navigateur, un script, un test ou une intégration API, sans deviner la convention locale ni masquer des données erronées par une correction automatique.
Calcul des changements de période et des années bissextiles
Une même entrée JSON produit donc toujours la même sortie JSON.
Exploitez le résultat en toute sécurité
Validez les données en amont : une date impossible déclenche invalid_input afin que votre intégration puisse arrêter et corriger l’enregistrement. L’usage dans le navigateur est gratuit et une requête API réussie coûte $0.002.
Questions techniques
Quel est le prix d’une requête API ?
La calculatrice du navigateur est gratuite. Une requête API réussie utilise le tarif de base publié de $0.002.