Premier et dernier jour de l’année
Pour le 15 juin 2024, l'année va du 2024-01-01 au 2024-12-31 et compte 366 jours, car elle est bissextile. Utilisez ces deux dates comme bornes déjà calculées pour vos rapports annuels, filtres, dossiers d'archives ou règles de conservation. 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-06-15
- Année
- 2 024
- Premier jour
- 2024-01-01
- Dernier jour
- 2024-12-31
- Jours de l'année
- 366
Ce calculateur reçoit une date ISO explicite et renvoie les deux bornes inclusives de la même année civile. Il convient aux rapports, filtres, archives et règles de validation qui exigent le 1er janvier et le 31 décembre sans consulter l’horloge actuelle. L’entrée est d’abord contrôlée comme une véritable date grégorienne, y compris selon les règles séculaires des années bissextiles. Le traitement repose uniquement sur une analyse fixe de chaîne et sur des entiers, jamais sur l’objet Date de JavaScript. Le fuseau du serveur, l’heure d’été, la langue du système et l’instant d’exécution ne peuvent donc pas modifier la réponse. Celle-ci indique aussi l’année, son caractère bissextile et son nombre total de jours.
Calcul des bornes de l’année
Saisissez une date comportant exactement quatre chiffres pour l’année, deux pour le mois et deux pour le jour, séparés par des tirets. Le calculateur isole ces éléments et les valide selon le calendrier grégorien proleptique. Le mois doit être compris entre 01 et 12, tandis que le jour autorisé dépend du mois et de l’année.
Février compte 29 jours si l’année est divisible par quatre, sauf pour les années séculaires qui doivent aussi être divisibles par quatre cents : 2000 est donc bissextile, 1900 ne l’est pas et 2024 l’est. Après validation, seule l’année sert à former les bornes. Le premier jour inclusif est cette année suivie de 01-01, et le dernier la même année suivie de 12-31.
Une année bissextile ne modifie pas ces dates, car le jour supplémentaire se trouve en février. Il ne demande jamais la date actuelle et n’utilise pas Date : serveur UTC, navigateur et worker produisent les mêmes chaînes ISO. L’opération est constante et sans appel externe.
Validation de l’entrée et champs renvoyés
Envoyez un objet contenant le champ obligatoire date, par exemple 2024-06-15. La syntaxe est volontairement stricte : les mois abrégés comme 2024-6-15, les barres obliques, les horodatages, les espaces périphériques et les formulations locales sont refusés. Cette rigueur empêche deux machines d’interpréter différemment un même texte.
La capacité rejette également le mois zéro, le mois treize, le 31 avril, le 30 février et le 29 février d’une année commune. La date est toujours exigée et n’est jamais remplacée par aujourd’hui. Les requêtes enregistrées et les traitements historiques restent ainsi reproductibles.
Employer les bornes annuelles sans ambiguïté
Les bornes d’une année civile servent aux requêtes annuelles, périodes de rapport, dossiers documentaires, règles de conservation et valeurs initiales des sélecteurs de date. Si un autre système attend des horodatages, appliquez ensuite sa politique de fuseau horaire de manière explicite. Pour une plage temporelle semi-ouverte, vous pouvez utiliser le premier jour comme borne basse inclusive et calculer séparément le 1er janvier suivant comme borne haute exclusive.
Cette capacité renvoie volontairement le véritable dernier jour de l’année demandée, plus lisible dans un calendrier humain. Elle ne calcule ni exercice fiscal, ni année scolaire, ni période glissante, ni jours ouvrés, ni année actuelle : ces notions demandent d’autres règles. Pour vos tests, choisissez des dates proches du 29 février, des changements de siècle, du 1er janvier et du 31 décembre.
Cas d’usage
Filtres de rapports annuels
Transformez toute transaction datée en bornes inclusives du 1er janvier au 31 décembre pour interroger une année civile cohérente.
Nommage des archives et dossiers
Obtenez des limites annuelles stables depuis la date d’un enregistrement, indépendamment de l’année actuelle et du fuseau de la machine.
Questions fréquentes
Le calculateur utilise-t-il l’année actuelle ?
Non. Vous devez fournir une date ISO explicite ; seule l’année de cette entrée est utilisée, sans aucune influence de l’horloge actuelle.
Quel format de date faut-il employer ?
Utilisez strictement YYYY-MM-DD avec des éléments de largeur fixe, comme 2024-06-15. Horodatages, barres, éléments abrégés et dates impossibles sont refusés.
Une année bissextile modifie-t-elle les bornes ?
Non. Elle ajoute le 29 février entre les bornes.
Le premier et le dernier jour sont-ils inclus dans l'intervalle ?
Oui. Le 1er janvier comme le 31 décembre font partie de l'intervalle : vous pouvez les utiliser tels quels dans un filtre de dates qui inclut les deux bornes, sans ajouter ni retirer de jour.
Comment utiliser ces dates avec des heures précises ?
Traitez-les comme des jours du calendrier, pas comme des instants, et appliquez votre propre règle de fuseau. Pour un intervalle qui s'arrête juste avant l'année suivante, prenez le 1er janvier de cette année-là comme fin.
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/year-start-end \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-06-15"}'const res = await fetch("https://api.kit.forhosting.com/date/year-start-end", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-06-15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/year-start-end",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-06-15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/year-start-end", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-06-15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-06-15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/year-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-06-15"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.year_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
Calcul des bornes de l’année
Le calcul fixe days_in_year à 365 ou 366 et fournit is_leap_year.
Validation de l’entrée et champs renvoyés
En cas de succès, la réponse répète la date validée et fournit year sous forme d’entier. first_day et last_day sont des dates ISO inclusives adaptées aux filtres de plage. is_leap_year et days_in_year permettent de dimensionner un calendrier annuel ou de vérifier le traitement des années bissextiles. Une entrée incorrecte devient une erreur invalid_input explicite au lieu de basculer silencieusement vers un autre mois. Le navigateur et l’API partagent la même fonction pure solve.
Employer les bornes annuelles sans ambiguïté
Considérez first_day et last_day comme des dates civiles, pas comme des instants. Une requête API réussie coûte $0.002 par élément, tandis que le navigateur exécute localement le même calcul. Sans réseau, horloge, hasard ou état régional caché, une même entrée produit toujours le même JSON.
Cas d'intégration
Tests de régression calendaire
Créez des limites prévisibles et des métadonnées bissextiles pour les années communes, bissextiles et les exceptions séculaires.
Questions techniques
Le premier et le dernier jour sont-ils inclusifs ?
Oui. first_day correspond au 1er janvier et last_day au 31 décembre de l’année civile saisie ; tous deux appartiennent à cette année.
Quel est le prix d’une requête API ?
Une requête API réussie coûte $0.002 par élément. La version navigateur exécute gratuitement le même calcul déterministe en local.