Nième jour de semaine après une date
À partir du lundi 18 mars 2024, le premier lundi qui suit est le 25 mars, pas le jour même, et le deuxième est le 1er avril. Choisissez une date, un jour de semaine et l'occurrence voulue pour transformer une règle récurrente en une date exacte. 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-03-15
- Jour de la semaine
- Monday
- N
- 3
- Résultat
- 2024-04-01
- Jours après
- 17
- Jour de la semaine de base
- Friday
- Jour de la semaine obtenu
- Monday
Ce calculateur transforme une règle de récurrence précise en date unique. Indiquez une date ISO réelle au format YYYY-MM-DD, choisissez un jour de semaine en anglais et précisez l’occurrence future recherchée. La recherche commence strictement après la date fournie : si la base et la cible sont un lundi, la première occurrence est le lundi suivant. Le calcul repose sur des entiers grégoriens, sans JavaScript Date, horloge système, paramètres régionaux, réseau ni hasard. Le résultat reste donc stable pour vos automatisations UTC, tests, calendriers et rapports.
Comprendre la règle strictement postérieure
Le mot strictement est essentiel : la date ISO fournie constitue une limite et ne peut jamais être renvoyée. Si la base est le lundi 2024-03-18 et la cible lundi, le premier résultat est 2024-03-25, puis 2024-04-01. Si les jours diffèrent, le moteur avance de la plus petite distance positive jusqu’à la cible, puis ajoute sept jours par occurrence.
Cette définition évite toute confusion entre « à partir de » et « après ». La réponse contient la base normalisée, le jour canonique, le rang demandé, la date obtenue, la distance et les composantes civiles. Aucun week-end ni jour férié n’est ignoré, et le fuseau de l’appareil n’intervient pas.
Pour une règle inclusive, les jours ouvrés ou les fêtes, choisissez un outil dédié. Ici, les trois entrées déterminent une réponse mathématique unique.
Fournir une date, un jour et un rang valides
Envoyez les champs obligatoires date, weekday et n. date doit comporter quatre chiffres d’année, deux de mois et deux de jour séparés par des tirets, et désigner une vraie date grégorienne. 2024-02-29 est valide, contrairement à 2023-02-29. Les années vont de 0001 à 9999 et le résultat doit rester dans cette plage. weekday accepte les noms anglais de Monday à Sunday et les abréviations Mon, Tue, Wed, Thu, Fri, Sat et Sun, sans distinction de casse.
Les indices et noms traduits sont refusés pour éviter les ambiguïtés. n est un entier positif de 1 à 100000; les fractions, zéro, les négatifs, NaN et Infinity échouent. Un résultat au-delà de 9999-12-31 échoue également.
Automatiser avec une arithmétique grégorienne déterministe
Le solveur vérifie les longueurs de mois et les années bissextiles grégoriennes, y compris l’exception des siècles. Il convertit ensuite la date civile en numéro de jour entier. Le jour de semaine découle de ce numéro et d’une table fixe.
La distance cible est calculée modulo sept, mais zéro devient sept afin d’imposer le caractère strictement postérieur. Sept fois n moins un est ajouté, puis le numéro final redevient une date. Le temps reste constant, même pour un grand n, car aucune date intermédiaire n’est parcourue.
Le code ne crée pas JavaScript Date, ne lit pas l’horloge et ne consulte aucun service ou fuseau. Les résultats sont donc reproductibles dans les navigateurs, workers et tests. La sortie est une date civile ISO, pas un horodatage; votre système peut ensuite lui associer explicitement une heure et une zone.
Cas d’usage
Planifier une revue récurrente
Trouvez le troisième vendredi après une échéance et enregistrez la date ISO dans votre planification.
Créer des jeux de test stables
Produisez des cas déterministes sans figer l’horloge ni dépendre du fuseau de la machine.
Fixer des dates d’observation et de rapport
Résolvez le jour de rang n après une mesure pour des audits et traitements reproductibles.
Questions fréquentes
La date de base compte-t-elle si elle correspond déjà au jour choisi ?
Non. Le calcul commence strictement après elle. Pour deux lundis, la première occurrence arrive sept jours plus tard.
Quelles valeurs pouvez-vous utiliser pour n ?
Utilisez un entier positif de 1 à 100000. Les fractions, zéro et les nombres négatifs sont refusés.
Votre fuseau horaire est-il utilisé ?
Non. Le calcul porte sur des dates civiles grégoriennes et ne consulte ni fuseau ni horloge système.
Les jours fériés ou non ouvrés sont-ils ignorés ?
Non. Chaque semaine civile compte. Un calendrier ouvré nécessite une autre capacité.
Comment trouver le troisième lundi après une date ?
Saisissez la date, choisissez lundi et demandez l'occurrence 3. À partir du vendredi 15 mars 2024, la réponse est le 1er avril 2024, soit 17 jours plus tard, car le premier lundi qui suit est le 18.
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/nth-weekday-from-date \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-03-15","weekday":"Monday","n":3}'const res = await fetch("https://api.kit.forhosting.com/date/nth-weekday-from-date", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-03-15",
"weekday": "Monday",
"n": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/nth-weekday-from-date",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-03-15",
"weekday": "Monday",
"n": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/nth-weekday-from-date", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-03-15","weekday":"Monday","n":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-03-15","weekday":"Monday","n":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/nth-weekday-from-date", 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-03-15",
"weekday": "Monday",
"n": 3
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.nth_weekday_from_date",
"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
Utilisez-le gratuitement dans le navigateur ou appelez l’API pour $0.002 par élément valide.
Fournir une date, un jour et un rang valides
Une entrée incorrecte produit invalid_input sans correction silencieuse. Chaque élément API valide coûte $0.002; le navigateur emploie exactement le même solveur pur.
Questions techniques
Quel est le prix d’une requête API ?
Un élément API valide coûte $0.002. Vous pouvez aussi exécuter gratuitement le même solveur dans le navigateur.