Nombre de jours entre dates
Du 1er au 11 janvier 2024, il y a 10 nuits entre les dates, ou 11 jours si le premier et le dernier comptent tous les deux. Choisissez la lecture qui correspond à votre réservation, votre congé ou votre annonce. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Début
- 2024-01-01
- End
- 2024-01-11
- Extrémités
- Exclude
- Jours
- 10
- Jours signés
- 10
- Année de début
- 2 024
Ce calculateur du nombre de jours répond à une question de planification quotidienne que les tableurs se trompent encore : étant donné deux dates de calendrier, quel est le décompte de jours, et les deux bornes comptent-elles ? Vous envoyez deux jours ISO sous la forme année-mois-jour et un mode de bornes exclude ou include. exclude renvoie l’intervalle ouvert — combien de minuits se trouvent strictement entre les dates, le chiffre des nuits d’hôtel ou des jours entre événements. include renvoie cette distance plus un, de sorte que le premier jour et le dernier sont tous deux comptés, le chiffre des jours de congé, de couverture ou de mise en ligne d’une annonce.
Ce que include versus exclude change dans le nombre de jours
On saisit « nombre de jours entre deux dates », « combien de jours dure mon voyage » ou « calculateur du nombre de jours » lorsqu’on veut un seul entier, mais tout le monde n’est pas d’accord pour savoir si le premier jour et le dernier comptent. Un séjour hôtelier du lundi au jeudi fait trois nuits si l’on exclut les deux bornes comme un écart, et quatre jours de calendrier si l’on inclut le jour d’arrivée jusqu’au jour de départ.
Admissions hospitalières, contrats de location, absences scolaires, décomptes de séjour de visa et « jours pendant lesquels cette offre est en ligne » empruntent la même fourche. Les paires du même jour donnent donc zéro sous exclude et un sous include. Heures de la journée, fuseaux horaires et calendriers de jours ouvrables sont hors périmètre : l’unité est le jour civil de minuit à minuit.
Cette reproductibilité explique que cette page existe à côté d’un outil de jours entre dates qui n’offre jamais le commutateur include, et non à sa place.
Où un décompte de jours avec commutateur de bornes apparaît
Les planificateurs de voyages utilisent le mode exclude lorsqu’un site de réservation vend des nuits et qu’ils ont besoin de l’entier qui correspond à la facture, puis passent à include lorsqu’un voyageur demande « combien de jours serai-je vraiment absent », en comptant le matin du départ et le soir du retour comme jours de calendrier du voyage.
Les bureaux des ressources humaines et des cliniques utilisent include lorsqu’un formulaire de congé ou un dossier d’admission couvre chaque jour civil de la première date à la dernière, et exclude lorsque la règle est rédigée « jours après l’événement » plutôt que « jours de couverture ». Bailleurs et vendeurs de places de marché comptent les jours d’annonce inclusifs lorsqu’un calendrier montre un bien occupé du vendredi au dimanche comme trois jours, et les nuits exclusives lorsque le même séjour fait deux nuits de loyer.
Les enseignants donnent les deux modes pour que les élèves voient pourquoi un tableur qui soustrait des numéros sériels contredit en silence une phrase qui dit « en incluant les deux dates ». Rien n’est stocké après le renvoi de la réponse. Associez cette page à un compte à rebours de jours jusqu’à une date lorsque la question est le reste jusqu’à un horizon futur, ou à un outil de décompte des week-ends lorsque seuls les samedis et dimanches importent.
Réservez cette page à la recherche « nombre de jours » avec une réponse explicite include ou exclude.
Cas d’usage
Nuits d’hôtel versus jours de calendrier d’un séjour
Transformez l’arrivée et le départ en nuits (exclude) ou en jours de calendrier du voyage (include) sans dérive de fuseau de l’horloge de l’hôte.
Fenêtres de congé, de couverture et d’admission
Comptez chaque jour civil de la première date à la dernière lorsqu’un formulaire couvre les deux bornes, ou l’écart ouvert lorsque la règle dit « jours après ».
Contrôles scolaires et d’intégration du décalage d’un
Montrez pourquoi « en incluant les deux dates » vaut un de plus qu’une soustraction sérielle, et figez les deux entiers dans des tests qui ne doivent pas dépendre de Date.
Questions fréquentes
Comment le nombre de jours est-il calculé lorsque les bornes sont exclues ou incluses ?
Les deux dates deviennent des numéros de jour sériels grégoriens. exclude est la différence absolue. include est cette différence plus un afin que les deux bornes comptent. Envoyez YYYY-MM-DD pour start et end.
Que se passe-t-il si vous envoyez deux fois la même date ?
exclude renvoie 0 — il n’y a pas d’écart ouvert. include renvoie 1 — ce seul jour civil est tout l’intervalle fermé.
Pourquoi devez-vous choisir include ou exclude ?
Les nuits d’hôtel, les jours de congé et « combien de jours dure le voyage » ne s’accordent pas sur le fait de compter les deux dates.
Et si l’une des dates n’est pas un jour de calendrier réel ?
Le 29 février n’est accepté que dans une année bissextile. Les longueurs de mois sont vérifiées sur les deux champs.
Combien coûte le calculateur du nombre de jours ?
Il est gratuit dans votre navigateur sur cette page.
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/life/number-days \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-01","end":"2024-01-11"}'const res = await fetch("https://api.kit.forhosting.com/life/number-days", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-01",
"end": "2024-01-11"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/number-days",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-01",
"end": "2024-01-11"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/number-days", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-01","end":"2024-01-11"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-01","end":"2024-01-11"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/number-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
{
"start": "2024-01-01",
"end": "2024-01-11"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.number_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.
Limites
year_min | 1 |
year_max | 9999 |
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
Si l’une des entrées n’est pas un jour grégorien réel, la requête échoue avec invalid_input et n’est pas facturée. Les appels API réussis coûtent $0.002.
Ce que include versus exclude change dans le nombre de jours
Cette page rend le choix explicite avec un champ endpoints : exclude renvoie l’intervalle ouvert, qui est la différence absolue de deux numéros de jour sériels grégoriens ; include renvoie cette différence plus un afin que les deux bornes siègent dans le décompte. Inverser la paire ne change jamais le chiffre absolu de jours ; seul signed_days inverse le signe pour qu’un flux conserve la direction chronologique. Comme l’implémentation ne construit jamais un Date JavaScript, la même paire et le même mode produisent toujours le même entier dans un Worker, dans un navigateur à Tokyo ou dans un banc d’essais avec TZ fixé à America/New_York.
Comment les deux dates ISO et le mode des bornes sont lus
Les champs obligatoires sont start et end, chacun un jour de calendrier réel au format YYYY-MM-DD. Lorsqu’il est omis, le moteur retient exclude par défaut, ce qui correspond à la lecture habituelle des nuits entre dates ou des minuits intercalés. Chaque date doit être un jour grégorien réel : année à quatre chiffres, mois à deux chiffres, jour à deux chiffres, le vingt-neuf février n’étant admis que dans une année bissextile. Les années sont limitées à l’intervalle inclusif de un à neuf mille neuf cent quatre-vingt-dix-neuf afin que les chaînes ISO à quatre chiffres restent bien définies. Les vérifications classiques comprennent deux mille vingt-quatre tiret zéro un tiret zéro un jusqu’à deux mille vingt-quatre tiret zéro un tiret un un sous exclude, qui donne dix jours, et deux mille vingt-quatre tiret zéro deux tiret vingt-huit jusqu’à deux mille vingt-quatre tiret zéro trois tiret zéro un sous include, qui donne trois jours en traversant un jour bissextile. Les alias from, date1, begin et a sont acceptés pour la première date ; les alias to, date2, finish et b pour la seconde, afin qu’un formulaire, une chaîne de requête ou une colonne de tableur réutilisent le contrat. Le champ facultatif endpoints est une énumération fermée : exclude ou include. Les alias mode, count et include_endpoints sont acceptés pour le même commutateur. Champs manquants, chaînes vides, types non chaîne, motifs mal formés, mois impossibles et un vingt-neuf février hors bissextile échouent avec invalid_input qui nomme le champ. Une valeur de endpoints qui n’est ni exclude ni include échoue de la même manière. En cas de succès, le corps répète les chaînes canoniques start et end, le mode endpoints résolu, days comme le décompte non négatif, signed_days avec la direction chronologique, les composantes année-mois-jour des deux dates et une courte chaîne de formule. Les requêtes API réussies coûtent $0.002 ; une entrée invalide n’est pas facturée.
Où un décompte de jours avec commutateur de bornes apparaît
Comme cette capacité est un moteur parse pur, le travail s’exécute entièrement dans votre navigateur sur cette page, et via l’API chaque consultation réussie coûte $0.002 tandis qu’une validation en échec ne consomme pas de solde.