Premier et dernier jour du mois
Choisissez une année et un mois pour obtenir ses première et dernière dates : février 2024 va du 1er au 29 février 2024, alors que février 2023 se termine le 28. Prêt pour les factures et les périodes de rapport. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Année
- 2 024
- Mois
- 2
- Nom du mois
- February
- Premier jour
- 1
- Dernier jour
- 29
- Jours dans le mois
- 29
Ce calculateur de premier et dernier jour du mois prend une année du calendrier grégorien et un numéro de mois de un à douze, et renvoie les dates calendaires d'ouverture et de fermeture de ce mois au format strict AAAA-MM-JJ. Parmi les vérifications classiques : février 2024 donne comme première date 2024-02-01 et comme dernière date 2024-02-29 avec vingt-neuf jours, février 2023 donne 2023-02-28 comme dernier jour, et avril 2024 donne de 2024-04-01 à 2024-04-30. Le moteur n'utilise que des longueurs de mois déterministes basées sur une table avec la règle grégorienne des années bissextiles, si bien qu'il ne consulte jamais l'horloge hôte, n'échantillonne jamais d'aléatoire, et n'appelle jamais le réseau.
Où les bornes de mois s'inscrivent dans la facturation, le reporting et le logiciel
Les équipes d'exploitation et de finance ont besoin des dates de début et de fin de mois lorsqu'une facture d'abonnement couvre un mois calendaire complet, lorsqu'une politique de conservation est indiquée comme le mois contenant un événement, ou lorsqu'un filtre de tableau de bord se règle par défaut sur le mois de reporting actuel sans coder en dur trente ou trente et un.
Les analystes construisant des cohortes utilisent les mêmes bornes pour étiqueter des fenêtres d'observation qui s'ouvrent au premier et se ferment au véritable dernier jour, évitant la troncature silencieuse lorsque février ou des mois courts apparaissent dans des rétro-remplissages pluriannuels. Enseignants et rédacteurs de normes utilisent l'outil pour démontrer des fins de mois de jour bissextile telles que février 2024 face à février 2023 sans dépendre d'applications de calcul opaques qui incluent silencieusement des heures de la journée.
Associez-le aux jours entre deux dates, à la soustraction de jours, ou aux 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
Plages de facturation et de factures
Obtenez les premières et dernières dates calendaires inclusives pour une année-mois afin que factures et abonnements couvrent le mois complet sans coder en dur les comptes de jours.
Février bissextile et mois courts
Vérifiez que février se termine le 28 ou le 29 selon les règles grégoriennes d'années bissextiles, et que avril, juin, septembre et novembre se ferment correctement le 30.
Questions fréquentes
Combien coûte le calculateur de premier et dernier jour du mois ?
Il est gratuit dans votre navigateur sur cette page.
Que se passe-t-il si le mois est hors de 1 à 12 ?
Le mois doit être un entier de 1 (janvier) à 12 (décembre).
Comment les années bissextiles sont-elles gérées pour février ?
Une année est bissextile si elle est divisible par 4, sauf les années séculaires non divisibles par 400. Février compte alors 29 jours (par exemple 2024 et 2000), sinon 28.
Cet outil utilise-t-il l'objet Date de l'hôte ?
Non. Les longueurs de mois et les règles bissextiles sont une arithmétique entière pure avec une table fixe, si bien que les résultats sont reproductibles entre environnements d'exécution sans effets de fuseau horaire ou d'horloge.
Quels mois se terminent le 30 ?
Avril, juin, septembre et novembre se terminent le 30 ; avril 2024, par exemple, va du 2024-04-01 au 2024-04-30. Février finit le 28, ou le 29 les années bissextiles, et les autres mois le 31.
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/month-start-end \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2024,"month":2}'const res = await fetch("https://api.kit.forhosting.com/date/month-start-end", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 2024,
"month": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/month-start-end",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 2024,
"month": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/month-start-end", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":2024,"month":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":2024,"month":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/month-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
{
"year": 2024,
"month": 2
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.month_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.
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 les fenêtres de facturation, les plages de rapports et les devoirs, ou appelez l'API à $0.002 par requête réussie lorsque vous avez besoin de bornes de mois reproductibles en CI, dans des pipelines de planification, ou des fonctionnalités produit qui ne doivent pas inventer de dates de fin de mois à la main.
Ce que signifient le début et la fin de mois et ce que contient la réponse
Connaître le premier et le dernier jour calendaire d'un mois répond à une question différente du comptage de jours entre deux dates arbitraires, de la recherche du prochain jour de semaine, ou de la conversion de numéros de jour julien : cela fixe les bornes civiles d'une année-mois nommée afin que plages de rapports, factures et fenêtres de conservation s'ouvrent au jour un et se ferment au véritable dernier jour sans erreurs de décalage d'un jour pour les mois de trente jours ou les février bissextiles. Si vous avez besoin de la distance en jours entiers entre deux dates libres, de la navigation par jour de semaine, ou de la conversion de semaine ISO, utilisez ces outils dédiés ; cette page ne répond qu'au début et à la fin calendaires d'une seule année-mois validée. Vous fournissez une année entière et un mois entier de un pour janvier à douze pour décembre ; le calculateur vérifie ces champs, recherche combien de jours compte ce mois cette année-là selon le calendrier grégorien proleptique, et renvoie first_date sous forme AAAA-MM-01, last_date sous forme AAAA-MM avec le véritable dernier jour complété de zéros, first_day toujours égal à un, last_day égal à days_in_month, le month_name en anglais pour l'affichage, is_leap_year pour les appelants sensibles à février, 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 l'année et le mois sont valides à l'intérieur de la fenêtre prise en charge et les bornes sont entièrement déterminées, soit la requête échoue avec invalid_input. Les cas rejetés incluent une année ou un mois manquant, des valeurs non entières, des années hors de un à 9999, et tout mois hors de un à douze tel que zéro, treize, ou des indices négatifs.
Comment year et month sont lus et comment les février bissextiles restent corrects
Chaque valeur peut arriver sous forme de nombre, de chaîne entière pure avec un signe facultatif, ou de bigint tenant dans la plage d'entiers sûrs ; les décimales intégrées, les préfixes hexadécimaux et les jetons non numériques sont rejetés avec un message clair afin qu'une cellule erronée ne devienne pas un mauvais dernier jour. Les longueurs de mois proviennent d'une table fixe de trente et un, trente, ou vingt-huit jours, sauf février qui devient vingt-neuf lorsque l'année est une année bissextile grégorienne : divisible par quatre, sauf les années séculaires non divisibles par quatre cents. Cette règle donne correctement 2024-02-29 et 2000-02-29 tout en rejetant toute tentative d'inventer trente-deux jours dans un mois quelconque. Le premier champ privilégié est year, mais les alias y et Y 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 month, avec les alias m, M et mon pour la même raison. Après analyse, year doit être compris entre 1 et 9999 inclus, et month doit être compris entre 1 et 12 inclus — des valeurs telles que 0, 13, ou 2024 comme mois échouent avec invalid_input en nommant le champ month. Le premier jour est toujours un ; le dernier jour est égal à days_in_month ; les deux bornes sont formatées avec des années à quatre chiffres et des mois et jours à deux chiffres. Associez l'exécution gratuite dans le navigateur de cette page à l'API payante lorsque vous avez besoin des mêmes bornes de mois au sein d'un pipeline automatisé.
Où les bornes de mois s'inscrivent dans la facturation, le reporting et le logiciel
Les développeurs appellent le contrat depuis des scripts pour générer des vecteurs de test déterministes pour des planificateurs et la paie, pour vérifier des champs de plage dans des API qui n'acceptent que des dates calendaires inclusives, ou pour satisfaire des exigences produit demandant des bornes grégoriennes pures sans dérive de fuseau horaire provenant de l'objet Date de l'hôte qui fait basculer minuit dans un fuseau inattendu. 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 chaînes first_date et last_date 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 les premières et dernières dates sont-elles définies ?
Pour une année et un mois validés, first_date est toujours AAAA-MM-01 et last_date est AAAA-MM-{days_in_month}, où days_in_month provient de la table de longueur de mois grégorienne (29 février les années bissextiles).