Calculateur de numéro de semaine ISO
Saisissez une date et voyez sa semaine ISO : le 1er janvier 2024 est en semaine 1 de 2024, mais le 1er janvier 2021 reste en semaine 53 de 2020. L'année-semaine s'affiche avec le numéro. 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-01
- Année
- 2 024
- Mois
- 1
- Jour
- 1
- Semaine ISO
- 1
Ce calculateur de numéro de semaine ISO prend une date calendaire grégorienne au format AAAA-MM-JJ et renvoie son numéro de semaine ISO-8601 ainsi que l'année de numérotation de semaine à laquelle ces deux valeurs appartiennent. Les semaines ISO commencent toujours le lundi et se terminent le dimanche, et la semaine 1 d'une année est la semaine qui contient le premier jeudi de cette année — c'est pourquoi fin décembre et début janvier indiquent souvent une année-semaine différente de l'année civile sur le calendrier. Parmi les vérifications classiques : 2024-01-01 correspond à la semaine 1 de 2024, et 2021-01-01 correspond à la semaine 53 de 2020. Le moteur n'utilise qu'une arithmétique calendaire entière déterministe : les années bissextiles, les longueurs de mois, le jour de l'année ordinal, et le jour de semaine ISO sont calculés sans appel réseau, échantillonnage aléatoire, ni horloge hôte.
Ce qu'est un numéro de semaine ISO et ce que contient la réponse
Les dates de semaine ISO-8601 répondent à une question différente des calendriers mois-et-jour : elles situent un jour à l'intérieur d'une semaine basée sur le lundi, numérotée de 1 à 52 ou 53 à l'intérieur d'une année de numérotation de semaine. La semaine 1 est définie comme la semaine contenant le premier jeudi de l'année, ce qui équivaut à la semaine contenant le 4 janvier.
En raison de cette règle, le 29 décembre au 3 janvier peut appartenir à l'année-semaine précédente ou suivante même si l'année civile sur la facture indique encore l'ancien ou le nouveau numéro. Si vous avez besoin des époques Unix, de l'analyse multi-format, ou de l'arithmétique de jours ouvrés, utilisez ces outils dédiés ; cette page ne répond qu'au numéro de semaine ISO et à l'année-semaine pour une date calendaire validée.
Comment la date est lue et comment la semaine reste reproductible
La 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, et les noms de mois ne sont pas développés ici.
Après analyse, l'année doit être comprise entre 1 et 9999, le mois entre 1 et 12, et le 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.
À partir du triplet validé, le moteur calcule le jour de l'année en additionnant les longueurs de mois, le jour de semaine ISO via la méthode entière pure de Sakamoto, mappée pour que lundi soit un et dimanche sept, puis le numéro de semaine comme la partie entière par le bas de jour-de-l'année moins jour-de-semaine plus dix, le tout divisé par sept.
Lorsque cette semaine est inférieure à un, la date appartient à la dernière semaine de l'année-semaine précédente ; lorsqu'elle dépasse le nombre de semaines de l'année civile, elle appartient à la semaine un de l'année-semaine suivante. Une année compte cinquante-trois semaines ISO lorsque son premier ou dernier jour est un jeudi.
Où les numéros de semaine ISO s'inscrivent dans la planification, le reporting et le logiciel
Les équipes d'exploitation et de finance utilisent les numéros de semaine ISO lorsqu'une cadence hebdomadaire doit s'aligner entre des pays qui ne commencent pas tous la semaine le dimanche : calendriers de fabrication, packs de ventes au détail, étiquettes de sprint agile, et reporting statutaire citant la semaine-de-l'année bénéficient tous d'un identifiant de semaine unique et non ambigu.
Les développeurs appellent le même contrat depuis des scripts pour horodater des lots de journaux, pour générer des vecteurs de test déterministes pour des systèmes de paie et de feuilles de temps, ou pour satisfaire des exigences produit demandant des étiquettes W01 à W53 plutôt qu'une numérotation de semaine locale ad hoc.
Enseignants et rédacteurs de normes utilisent l'outil pour démontrer des dates limites telles que 2005-01-01 en semaine 53 de 2004 face à 2005-01-03 en semaine 1 de 2005, sans dépendre de numéros de série de tableur qui diffèrent entre Excel et l'ISO. Associez-le à la conversion d'époque ou à la normalisation de date lorsque vous avez besoin de pas calendaires apparentés, et aux autres auxiliaires déterministes gratuits pour bâtir un petit laboratoire d'utilitaires de date.
Cas d’usage
Étiquettes de reporting hebdomadaire
Horodatez tableaux de bord, packs de vente au détail et rapports d'exploitation avec des paires stables de semaine ISO et d'année-semaine plutôt que des semaines locales dépendantes de la locale.
Vérifications de conformité aux limites d'année
Vérifiez les dates de fin décembre et début janvier qui appartiennent à l'année-semaine précédente ou suivante avant de clôturer les comptes ou de déposer des statistiques basées sur la semaine.
Questions fréquentes
Combien coûte le calculateur de numéro de semaine ISO ?
Il est gratuit dans votre navigateur sur cette page.
Comment le numéro de semaine ISO est-il défini ?
Les semaines vont du lundi au dimanche. La semaine 1 est la semaine contenant le premier jeudi de l'année (la semaine qui contient le 4 janvier). Le résultat peut utiliser une année-semaine différente de l'année civile.
Cet outil convertit-il des fuseaux horaires ou utilise-t-il l'horloge actuelle ?
Non. Il ne fait correspondre qu'une date calendaire validée à des champs de semaine ISO avec une arithmétique pure. Il n'y a aucun objet Date, aucun décalage de fuseau horaire, ni dépendance à « aujourd'hui ».
Pourquoi le 1er janvier 2021 tombe-t-il en semaine 53 de 2020 ?
Parce que la semaine 1 d'une année est celle qui contient son premier jeudi, et le 1er janvier 2021 arrive avant elle. Ce jour reste donc dans la dernière semaine de 2020, la semaine 53.
Qu'affiche le résultat en plus du numéro de semaine ?
Il indique le jour de la semaine de 1 (lundi) à 7 (dimanche) avec son nom, une étiquette courte comme 2024-W01, le nombre de semaines de cette année-semaine et le rang du jour dans l'année.
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/iso-week-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-01-01"}'const res = await fetch("https://api.kit.forhosting.com/date/iso-week-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-01-01"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/iso-week-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-01-01"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/iso-week-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-01-01"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-01-01"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/iso-week-number", 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-01"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.iso_week_number",
"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
Utilisez-le gratuitement dans le navigateur pour la planification, la paie et les feuilles de conformité, ou appelez l'API à $0.002 par requête réussie lorsque vous avez besoin d'étiquettes de semaine reproductibles en CI, dans des pipelines de reporting ou des fonctionnalités produit.
Ce qu'est un numéro de semaine ISO et ce que contient la réponse
Ce calculateur accepte un champ obligatoire, date, sous forme de chaîne stricte AAAA-MM-JJ, vérifie que le jour existe réellement dans le calendrier grégorien — y compris le 29 février uniquement les années bissextiles et la longueur correcte de chaque mois — puis renvoie la date normalisée, l'année civile, le mois et le jour, le numéro de semaine ISO sous iso_week, l'année de numérotation de semaine sous iso_week_year, le jour de semaine ISO de 1 pour lundi à 7 pour dimanche avec un nom lisible, une chaîne compacte iso_week_string telle que 2020-W53, le nombre de semaines que contient cette année-semaine, l'ordinal jour-de-l'année, et un court rappel de formule. Il n'y a aucune conversion de fuseau horaire, aucun premier jour de semaine dépendant de la locale, et aucune approximation flottante : soit l'entrée est un jour calendaire réel et les champs de semaine sont entièrement déterminés, soit la requête échoue avec invalid_input. Les cas rejetés incluent une date manquante, un format erroné tel que 2024/01/01, des mois impossibles, et des jours inexistants tels que 2023-02-29.
Comment la date est lue et comment la semaine reste reproductible
Le champ privilégié est date, mais les alias iso_date, d et value 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. Associez l'exécution gratuite dans le navigateur de cette page à l'API payante lorsque vous avez besoin de la même étiquette de semaine au sein d'un pipeline automatisé.
Où les numéros de semaine ISO s'inscrivent dans la planification, le reporting et le logiciel
Les analystes construisant des tableaux de bord d'une année sur l'autre évitent l'erreur classique de décalage d'un où les premiers jours de janvier appartiennent encore à la semaine 52 ou 53 de l'année-semaine précédente s'ils stockent à la fois iso_week et iso_week_year plutôt que la seule année civile. 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 valeurs iso_week et iso_week_string reproductibles pour tests unitaires, vérifications de propriétés et assertions CI sans écart de Date.
Questions techniques
Pourquoi iso_week_year peut-il différer de l'année calendaire ?
Les dates d'environ le 29 décembre au 3 janvier tombent souvent dans la dernière semaine de l'année-semaine précédente ou la semaine 1 de la suivante selon les règles ISO-8601.
Quels formats de date sont acceptés ?
Seulement des dates calendaires strictes AAAA-MM-JJ. Des valeurs comme 2024/01/01, 01-01-2024, ou 2023-02-29 (non bissextile) sont rejetées avec invalid_input.