ForHosting KIT · Outils pour développeurs

Nombre de semaines dans un mois

Déterminez combien de semaines civiles occupe le mois qui contient une date ISO précise.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Saisissez une date au format YYYY-MM-DD et choisissez le jour qui commence la semaine. Le résultat tient compte de la longueur du mois, des années bissextiles et des cases vides avant le premier jour. Il indique donc le nombre de lignes nécessaires dans un calendrier classique. Une arithmétique grégorienne fixe liée à UTC garantit un résultat indépendant de l’horloge, des réglages régionaux et de l’heure d’été.

Comprendre la portée en semaines civiles

Un mois ne contient pas un nombre entier exact de périodes de sept jours, et l’expression « semaines dans un mois » peut avoir plusieurs sens. Ce calculateur compte les lignes hebdomadaires, c’est-à-dire les blocs contenant au moins une date du mois sélectionné. Il repère d’abord le jour de la semaine du premier, mesure les cases qui le précèdent selon le début choisi, ajoute le nombre réel de jours et répartit l’ensemble sur des lignes de sept. Ainsi, un mois de 31 jours peut occuper cinq ou six semaines. Un février de 28 jours en occupe quatre si son premier jour coïncide avec le début de semaine, mais cinq dans le cas contraire. Cette définition correspond aux calendriers mensuels, tableaux de service, plannings scolaires et grilles de reporting. Elle diffère volontairement d’une division du nombre de jours par sept, laquelle exprime une durée sans indiquer combien de blocs visuels ou opérationnels sont traversés.

Choisissez explicitement le premier jour

Le champ first_weekday fixe les limites des semaines. Utilisez 0 pour dimanche, 1 pour lundi, puis continuez jusqu’à 6 pour samedi. Lundi est la valeur par défaut, fréquente dans les calendriers professionnels orientés ISO, sans être pour autant une convention universelle. Un planning commercial commençant le dimanche et un planning de bureau commençant le lundi peuvent donner des résultats différents pour le même mois. La réponse rappelle le réglage numérique, son nom anglais, le jour où débute le mois et le nombre de cases initiales. Vous pouvez ainsi contrôler le calcul et prévenir les divergences silencieuses entre systèmes. La date fournie doit être complète, complétée par des zéros et conforme à YYYY-MM-DD. Son jour sélectionne et valide le mois; le modifier au sein du même mois ne change pas le résultat. Les dates impossibles, notamment les faux jours bissextiles, sont refusées plutôt que normalisées.

Une arithmétique déterministe pour l’automatisation

Le calcul suit le calendrier grégorien proleptique pour les années 0001 à 9999. Une année divisible par quatre est bissextile, sauf un siècle qui n’est pas aussi divisible par 400. Les jours de la semaine proviennent uniquement d’opérations entières: aucune lecture de l’heure, aucun réseau, aucun aléa ni objet Date de JavaScript. La mention UTC désigne donc une date civile stable et neutre, sans décalage lié au serveur ou au fuseau de l’utilisateur. Un JSON identique produit toujours la même sortie dans le navigateur et l’API, même lors des changements d’heure. Utilisez le résultat pour dimensionner des rubriques hebdomadaires, réserver des lignes imprimables, vérifier un calendrier importé ou créer des enveloppes mensuelles. La réponse fournit également la longueur et le nom du mois, son premier jour et les cases initiales afin de conserver une justification avec weeks_in_month. Les appels API commencent à $0.002; le navigateur emploie le même noyau déterministe.

Dimensionner une grille mensuelle

Déterminez si la vue exige quatre, cinq ou six lignes avant son affichage ou son impression.

Créer des blocs de service

Générez le bon nombre de rubriques hebdomadaires selon la convention de votre organisation.

Valider les mises en page

Vérifiez que les rapports mensuels couvrent toute semaine civile contenant au moins une date.

Tous les mois comptent-ils quatre semaines?

Non. Quatre semaines font exactement 28 jours; la plupart des mois sont plus longs et couvrent cinq ou six lignes.

Que signifie first_weekday?

Ce champ fixe la limite hebdomadaire: 0 vaut dimanche, 1 lundi, et les valeurs continuent jusqu’à 6 pour samedi.

Pourquoi le résultat change-t-il selon le début choisi?

Le déplacement des limites peut répartir les premières et dernières dates sur un nombre différent de lignes.

Le jour de la date saisie modifie-t-il le résultat?

Il identifie et valide le mois. Toute date valide du même mois et de la même année donne le même compte avec un réglage identique.

Comment gérez-vous les années bissextiles et fuseaux?

Les règles grégoriennes sont calculées avec des entiers. Aucune conversion de fuseau n’est effectuée; la date civile reste stable en UTC.

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.

POSThttps://api.kit.forhosting.com/date/weeks-in-month

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é.

curl -X POST https://api.kit.forhosting.com/date/weeks-in-month \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"2026-08-13"}'
{
  "date": "2026-08-13"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.weeks_in_month",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →