Début et fin de semaine
Saisissez un jour et obtenez le premier et le dernier jour de sa semaine : le mercredi 3 janvier 2024 se trouve dans la semaine du lundi 1er au dimanche 7 janvier. La semaine commence le lundi ou le jour de votre choix. 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-01-03
- Premier jour de la semaine
- monday
- Index du premier jour
- 1
- Jour de la semaine
- wednesday
- Index du jour
- 3
- Jours depuis le début
- 2
Trouver le premier et le dernier jour calendaire de la semaine qui contient une date donnée est un besoin courant dans les feuilles de temps, les tableaux de sprint, les calendriers scolaires, les périodes de paie et les tableaux de bord de reporting. Les personnes qui cherchent une calculatrice de début et de fin de semaine connaissent déjà un jour à l'intérieur de la semaine et ont besoin de la plage complète du lundi au dimanche ou du dimanche au samedi sans compter sur les doigts. Cet outil accepte une date calendaire ISO stricte sous la forme année-mois-jour, un réglage optionnel du premier jour de la semaine (lundi par défaut pour les semaines de style ISO, ou dimanche pour les semaines de style américain), vérifie que le jour existe réellement sur le calendrier grégorien y compris les févrriers bissextiles, calcule le jour de la semaine avec la méthode de Sakamoto et renvoie le début et la fin inclusifs de la semaine sous forme de chaînes ISO plus les numéros de jour julien et le décalage depuis le début de la semaine. Les bases impossibles telles que le vingt-neuf février d'une année commune échouent avec une erreur de validation claire au lieu de se replier en silence.
Comment le début et la fin de semaine sont calculés
Commencez par une date calendaire civile écrite comme année, mois et jour sous la forme ISO internationale avec tirets et largeurs fixes afin que chaque client s'accorde sur les trois mêmes entiers.
Vérifiez que l'année se situe dans une plage grégorienne pratique de l'année un à neuf mille neuf cent quatre-vingt-dix-neuf, que le mois est entre un et douze, et que le jour existe pour ce mois selon les règles bissextiles grégoriennes : une année est bissextile lorsqu'elle est divisible par quatre, sauf que les années séculaires ne sont bissextiles que lorsqu'elles sont aussi divisibles par quatre cents.
Cette règle rend le vingt-neuf février légal dans des années telles que deux mille vingt-quatre et deux mille, et illégal en deux mille vingt-trois et dix-neuf cents. Ensuite résolvez le réglage du premier jour de la semaine : noms anglais sunday à saturday ou indices numériques de zéro à six avec dimanche égal à zéro et lundi égal à un, par défaut le lundi s'il est omis pour que les semaines de style ISO soient le chemin courant.
Calculez le jour de la semaine de la date donnée avec la méthode entière de Sakamoto, qui ne consulte jamais l'horloge hôte. Convertissez le jour civil en un numéro de jour julien astronomique avec la formule de Fliegel et Van Flandern, soustrayez le décalage modulaire qui est le nombre de jours depuis le début de semaine configuré, et ajoutez six pour obtenir la fin de semaine inclusive. La conversion julienne inverse produit les chaînes ISO de début et de fin.
Où les calculateurs de bornes de semaine apparaissent au travail
Les responsables de programme et les scrum masters associent tout jour en milieu de sprint au bloc lundi–dimanche ou avec premier jour personnalisé qui le contient pour les tableaux de capacité et les graphiques de burndown. Les équipes RH et paie convertissent un jour travaillé en la semaine de paie qui le contient sans charger une bibliothèque complète de planification ni dépendre de la locale serveur.
Les enseignants et administrateurs scolaires transforment tout jour de classe en début et fin de semaine pour les feuilles de présence et les communications aux parents. Les ingénieurs d'analytique matérialisent des clés de seau hebdomadaire pour les tableaux de bord afin que les événements soient groupés par le début de semaine civile plutôt que par des troncatures arbitraires de l'horloge hôte qui se décalent sous l'heure d'été.
Si vous avez plus tard besoin de semaines entières entre deux dates, de décomptes de week-ends dans une plage, du nième jour de la semaine d'un mois, ou d'une simple addition de jours à une seule base, traitez-les comme des intentions de recherche et des pages d'atterrissage séparées plutôt que de surcharger cette page de début et fin de semaine.
Cas d’usage
Bornes de semaine pour sprints et feuilles de temps
Associez toute date de travail en milieu de semaine à la plage inclusive lundi–dimanche ou dimanche–samedi pour feuilles de temps, tableaux de sprint et rapports de capacité sans dérive de fuseau hôte.
Périodes de paie et de présence
Convertissez un jour travaillé ou de classe en chaînes ISO de début et fin de semaine utilisées par les cycles de paie, les feuilles de présence scolaires et les calendriers destinés aux parents.
Questions fréquentes
Que signifie début et fin de semaine ?
Cela signifie le premier et le dernier jour civil du calendrier de la semaine de sept jours qui contient votre date, selon un réglage de premier jour tel que lundi ou dimanche, sans règles de jours ouvrables ni horloge murale.
Quel est le premier jour de la semaine par défaut ?
Le lundi, aligné sur les semaines de style ISO courantes.
Quel format de date est exigé ?
ISO strict YYYY-MM-DD avec année à quatre chiffres et mois et jour à deux chiffres. Des valeurs comme 2024-1-3 ou 2024/01/03 sont rejetées pour que chaque client s'accorde.
Que se passe-t-il avec une date invalide telle que 2023-02-29 ?
Le message d'erreur explique que le jour n'est pas valide pour cette année et ce mois sur le champ date.
Combien cela coûte-t-il ?
L'outil du navigateur est gratuit et s'exécute localement.
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/week-start-end \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-01-03"}'const res = await fetch("https://api.kit.forhosting.com/date/week-start-end", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-01-03"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/week-start-end",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-01-03"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/week-start-end", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-01-03"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-01-03"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/week-start-end", 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-01-03"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.week_start_end",
"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
Ce que vous envoyez et ce que vous recevez
Envoyez un champ chaîne obligatoire date comme un jour calendaire ISO strict tel que deux mille vingt-quatre tiret zéro un tiret zéro trois, et un first_weekday optionnel tel que monday ou sunday ou un index de zéro à six. Une date manquante, des valeurs non chaîne, des chaînes qui ne correspondent pas au motif de chiffres quatre-deux-deux, des dates qui correspondent au motif mais ne sont pas de vrais jours calendaires, et des jetons de jour de la semaine inconnus échouent avec invalid_input et ne sont pas facturés. En cas de succès la réponse renvoie la date normalisée, le nom et l'index de first_weekday résolu, le nom et l'index du jour de la semaine du jour d'entrée, days_from_start comme le décalage de zéro à six depuis le début de la semaine, week_start et week_end comme chaînes ISO inclusives, les numéros de jour julien pour l'entrée et les deux bornes, length_days toujours sept, et une courte chaîne de formule qui documente le chemin Sakamoto et JDN. Les vérifications classiques incluent le mercredi trois janvier deux mille vingt-quatre avec des semaines commençant le lundi donnant du premier au sept janvier, la même date avec des semaines commençant le dimanche donnant du trente et un décembre deux mille vingt-trois au six janvier deux mille vingt-quatre, et une entrée qui est déjà le premier jour de la semaine renvoyant ce jour comme week_start avec days_from_start zéro. Le prix des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation ne consomment pas le solde prépayé.
Où les calculateurs de bornes de semaine apparaissent au travail
Comme cette capacité est un moteur de parse pur, le prix de l'API est la base publiée de $0.002 par élément réussi et l'échec de validation ne consomme pas le solde.
Cas d'intégration
Clés de seau hebdomadaire pour l'analytique
Dérivez des clés week_start civiles stables pour le regroupement d'événements et les tableaux de cohortes afin que les seaux suivent la même règle de premier jour dans chaque environnement.