Jours entre deux dates
Du 1er au 11 janvier 2024, il y a 10 jours. Saisissez deux dates pour obtenir le nombre entier de jours calendaires qui les séparent, ainsi qu'un chiffre signé qui indique si la seconde date vient avant. 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
- Fin
- 2024-01-11
- Jours
- 10
- Jours signés
- 10
- Année de début
- 2 024
- Mois de début
- 1
Ce calculateur de jours entre deux dates prend deux dates calendaires grégoriennes au format strict AAAA-MM-JJ et renvoie le nombre entier de jours calendaires qui les séparent. Parmi les vérifications classiques : 2024-01-01 à 2024-01-11 donne dix jours, 2024-02-28 à 2024-03-01 donne deux jours lors d'une année bissextile, et des bornes identiques donnent zéro. Le moteur utilise uniquement une arithmétique grégorienne proleptique déterministe : il vérifie que chaque jour existe réellement sur le calendrier, convertit les deux triplets en comptes de jours en série, les soustrait, et indique à la fois la distance absolue et l'écart signé fin-moins-début, sans appel réseau, échantillonnage aléatoire, ni horloge hôte.
Où l'arithmétique d'écart de jours s'inscrit dans la planification, la facturation et le logiciel
Les équipes d'exploitation et de finance comptent les jours entre deux dates lorsqu'une politique définit une fenêtre de paiement de trente jours calendaires, lorsqu'un avis doit tomber un nombre fixe de jours après un événement, ou lorsqu'une période de conservation est indiquée en jours entiers entre deux horodatages plutôt que selon une horloge en direct.
Les analystes construisant des cohortes utilisent la même distance pour étiqueter des fenêtres d'observation qui commencent et se terminent à des jours calendaires connus, évitant les erreurs de décalage d'un jour en fin de mois et lors des jours bissextiles qui apparaissent lorsqu'on soustrait à la main des numéros de série de tableur.
Les développeurs appellent le contrat depuis des scripts pour générer des vecteurs de test déterministes pour des planificateurs, pour vérifier des champs de durée dans des factures et des abonnements, ou pour satisfaire des exigences produit demandant un écart calendaire pur sans dérive de fuseau horaire provenant de l'objet Date de l'hôte.
Enseignants et rédacteurs de normes utilisent l'outil pour démontrer des distances de jour bissextile telles que 2024-02-28 à 2024-03-01 face à la même paire lors d'une année commune, sans dépendre d'applications de calcul opaques qui incluent silencieusement des heures de la journée. Associez-le à la soustraction de jours, la conversion d'époque, ou les auxiliaires de semaine ISO lorsque vous avez besoin de pas calendaires apparentés, et aux autres outils déterministes gratuits pour bâtir un petit laboratoire d'utilitaires de date.
Cas d’usage
Fenêtres de paiement et d'avis
Mesurez les jours calendaires entiers entre une date de facture et une date d'échéance, ou entre un événement et un jour d'avis requis, sans dérive de fuseau horaire.
Écarts de fin d'année bissextile et de fin de mois
Vérifiez que les distances traversant le 29 février se produisent uniquement les années bissextiles, et que les limites de mois et d'année contribuent le bon compte de jours entiers.
Questions fréquentes
Combien coûte le calculateur de jours entre deux dates ?
Il est gratuit dans votre navigateur sur cette page.
Que se passe-t-il avec les années bissextiles et les dates invalides ?
Les longueurs de mois et les jours bissextiles sont vérifiés sur les deux bornes.
Les week-ends, jours fériés ou heures de la journée sont-ils inclus ?
Non. Cet outil ne compte que des jours calendaires grégoriens purs. Il ne saute pas les jours non ouvrés et n'analyse ni les heures ni les fuseaux horaires.
L'ordre des deux dates a-t-il une importance ?
Pas pour le décompte principal, qui n'est jamais négatif. Un second chiffre, signé, garde le sens : il devient négatif quand la date de fin précède la date de début.
Le premier jour est-il compté ?
Le décompte mesure la distance de minuit à minuit : du 1er au 11 janvier, on obtient 10 jours et non 11. Deux dates identiques donnent 0.
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/date/days-between \
-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/date/days-between", {
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/date/days-between",
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/date/days-between", 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/date/days-between", 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": "date.days_between",
"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
Ce que signifie un écart en jours entiers et ce que contient la réponse
Compter des jours calendaires entiers entre deux dates répond à une question différente des comptages de jours ouvrés, de l'âge en années et en mois, ou de la soustraction d'horodatages tenant compte du fuseau horaire : cela mesure une distance civile pure sur le calendrier grégorien, de minuit à minuit, sans sauter les week-ends, les jours fériés ou les transitions d'heure d'été. Si vous avez besoin de jours ouvrés, de navigation par soustraction de jours, de conversion d'époque, ou d'analyse multi-format, utilisez ces outils dédiés ; cette page ne répond qu'à la distance grégorienne en jours entiers entre deux dates ISO validées. Vous fournissez une date de début et une date de fin sous forme de chaînes strictes AAAA-MM-JJ ; l'ordre n'a pas besoin d'être chronologique car le champ days absolu est toujours non négatif tandis que signed_days préserve la direction lorsque la fin est antérieure au début. Le calculateur vérifie que les deux jours sont des jours calendaires réels — le 29 février uniquement les années bissextiles, trente jours en avril, jamais le trente-deux — puis renvoie les chaînes start et end normalisées, days comme distance absolue en jours entiers, signed_days comme fin en série moins début en série, les champs de composantes start_year, start_month, start_day, end_year, end_month et end_day pour un chaînage facile vers d'autres outils, et un court rappel de formule. Il n'y a aucun début de semaine dépendant de la locale, aucune approximation flottante d'une longueur de jour, et aucune dépendance à l'objet Date de l'hôte : soit les deux entrées sont des jours calendaires réels à l'intérieur de la fenêtre d'année prise en charge et l'écart est entièrement déterminé, soit la requête échoue avec invalid_input. Les cas rejetés incluent un champ start ou end manquant, des formats erronés tels que 2024/01/01, des mois impossibles, des jours inexistants tels que 2023-02-29, et des années hors de un à 9999.
Comment start et end sont lus et comment le décompte reste reproductible
Chaque chaîne doit correspondre à quatre chiffres, un trait d'union, deux chiffres, un autre trait d'union, et deux chiffres ; les espaces en début ou fin sont supprimés, mais les dates partielles, le jour de l'année ordinal seul, les noms de mois, et les heures intégrées ne sont pas développés ici. Après analyse, chaque année doit être comprise entre 1 et 9999, chaque mois entre 1 et 12, et chaque jour entre 1 et la véritable longueur de ce mois cette année-là, les années bissextiles suivant la règle grégorienne : divisible par quatre sauf les années séculaires non divisibles par quatre cents. Le premier champ privilégié est start, mais les alias from, date1, a et begin sont acceptés afin que tableurs, chaînes de requête et formulaires typés puissent réutiliser le même contrat sans renommer de colonnes. Le second champ privilégié est end, avec les alias to, date2, b et finish pour la même raison. En interne, le moteur convertit chaque triplet civil en un compte de jours en série grégorien proleptique à l'aide de la correspondance bien connue days_from_civil, soustrait le début en série de la fin en série pour obtenir signed_days, puis prend la valeur absolue pour days — une arithmétique entière pure et stable au bit près d'un environnement d'exécution à l'autre. Des dates identiques donnent zéro ; inverser la paire ne change que le signe de signed_days et laisse days inchangé. Associez l'exécution gratuite dans le navigateur de cette page à l'API payante lorsque vous avez besoin du même écart de jours au sein d'un pipeline automatisé.
Où l'arithmétique d'écart de jours s'inscrit dans la planification, la facturation et le logiciel
Sur cette page, le travail s'exécute entièrement dans votre navigateur ; via l'API, chaque recherche réussie coûte $0.002, une validation échouée n'est pas facturée, et rien n'est conservé après le renvoi de la réponse. Cette séparation — exploration interactive gratuite et API payante identique — s'inscrit dans le reste du catalogue de niveau A du KIT et permet de passer d'une vérification ponctuelle à un pipeline sans changer le résultat mathématique.
Cas d'intégration
Fixtures de test déterministes
Générez des nombres d'écart de jours reproductibles pour tests unitaires, vérifications de propriétés et assertions CI, sans dépendre de Date ou de l'horloge hôte.
Questions techniques
Comment le décompte de jours est-il défini ?
Le moteur convertit les deux dates AAAA-MM-JJ validées en comptes de jours en série grégoriens prolepticques et les soustrait. days est la distance absolue en jours entiers ; signed_days est fin moins début.
L'ordre a-t-il de l'importance si la fin précède le début ?
days est toujours non négatif. signed_days est négatif lorsque la fin est antérieure au début, ce qui permet de conserver la direction chronologique si besoin.