Début de l'année suivante
Début de l'année suivante accepte une date explicite au format ISO YYYY-MM-DD et renvoie le 1er janvier de l'année suivante.
Lancer gratuitement
Le calcul est déterministe : il valide la date grégorienne fournie, incrémente son année et formate le résultat sans consulter l'heure actuelle ni dépendre des paramètres régionaux ou du fuseau horaire d'un appareil. Il convient donc aux automatisations reproductibles, aux tests, aux périodes de facturation, aux calendriers de conservation et à tout processus dans lequel une même entrée doit toujours produire la même sortie.
Fournissez une date civile ISO explicite
Envoyez le champ date sous la forme d'une valeur YYYY-MM-DD complète, avec les zéros initiaux pour le mois et le jour. La capacité accepte les années grégoriennes de 0001 à 9998 afin de pouvoir renvoyer l'année suivante dans le même format à quatre chiffres. Elle refuse les dates incomplètes, les horodatages, les suffixes de fuseau horaire, les numéros de mois impossibles et les jours invalides tels que le 31 avril ou le 29 février d'une année commune. Ce contrat strict est utile lorsque les dates proviennent de formulaires, de feuilles de calcul, de bases de données ou d'autres services : une valeur mal formée échoue clairement au lieu d'être corrigée silencieusement. Le mois et le jour fournis ne modifient pas la forme de la réponse, mais ils restent validés afin que l'entrée corresponde à un véritable jour civil. Par exemple, 2024-08-19 produit 2025-01-01, tandis que 2024-02-29 est accepté puisque 2024 est une année bissextile grégorienne. Transmettez la date source elle-même, et non une expression comme année prochaine ou date actuelle, car cette opération ne déduit jamais un contexte temporel manquant.
Comprenez le résultat UTC déterministe
Le résultat contient la date source validée, l'année suivante sous forme numérique et start_of_next_year comme 1er janvier au format YYYY-MM-DD. L'algorithme interprète les quatre composantes de la date comme des entiers décimaux, vérifie les règles grégoriennes relatives aux années bissextiles et à la longueur des mois, ajoute exactement un à l'année, puis formate le mois et le jour en 01-01. Il ne construit aucun objet Date, ne consulte pas l'horloge système, ne lit pas les paramètres régionaux du navigateur et n'effectue aucune conversion par un fuseau local. Une requête exécutée en UTC, à New York, à Tokyo ou dans un navigateur hors ligne produit donc le même JSON pour la même entrée. L'expression arithmétique civile UTC signifie que la date renvoyée constitue une limite civile sans ambiguïté, adaptée à la représentation de 00:00:00 UTC si un système en aval exige ensuite un horodatage. Aucun horodatage n'est renvoyé ici : il n'y a donc ni décalage accidentel ni conversion liée à l'heure d'été. Cette distinction est importante à l'approche du réveillon, lorsque des raccourcis fondés sur l'horloge peuvent choisir des années différentes selon le lieu d'exécution. L'entrée explicite reste l'unique référence temporelle.
Utilisez cette limite avec prudence dans vos processus
Utilisez cette capacité lorsqu'un processus nécessite le premier jour civil suivant l'année de la date source : ouverture de la prochaine période annuelle de rapports, création d'une limite de renouvellement, calcul du début d'un futur exercice fiscal aligné sur l'année civile ou production de données fixes pour des tests sensibles aux dates. Stockez ou comparez start_of_next_year comme une date ISO lorsque le système environnant manipule des valeurs limitées à la date. Si une autre API exige un instant, ajoutez une heure UTC explicite uniquement dans cette couche en aval ; vous pouvez, par exemple, traiter la limite renvoyée comme minuit UTC conformément au format documenté par cette API. N'interprétez pas la sortie comme une année après la date d'entrée : ce sont deux opérations différentes. Une année après 2024-08-19 donnerait 2025-08-19, alors que le début de l'année suivante est 2025-01-01. Le prix de chaque élément demandé par API est de $0.002, et ce calcul pur convient également au client de navigateur généré. Comme aucune horloge actuelle n'est consultée, les exemples enregistrés et les tâches répétées restent reproductibles longtemps après leur création.
Cas d’usage
Ouvrir la prochaine année de rapports
Transformez tout enregistrement daté en limite du 1er janvier pour sa prochaine période annuelle de rapports.
Créer des données de test stables
Générez une limite prévisible pour l'année suivante sans simuler l'horloge système ni contrôler le fuseau du lanceur de tests.
Planifier les règles annuelles de conservation
Déduisez le début de l'année civile suivante à partir de la date explicite d'un document ou événement avant d'appliquer un délai de conservation.
Questions fréquentes
Cette opération utilise-t-elle la date du jour ?
Non. Elle utilise uniquement la date explicite fournie dans la requête et ne consulte jamais l'horloge système actuelle.
Quel est le prix d'une requête ?
Chaque requête API coûte $0.002.
Les années bissextiles sont-elles validées ?
Oui. Le 29 février n'est accepté que si l'année fournie est une année bissextile grégorienne.
Pourquoi l'année d'entrée maximale est-elle 9998 ?
L'année suivante doit rester représentable sous forme de date ISO à quatre chiffres ; 9999 ne peut donc pas être incrémenté dans ce contrat.
Est-ce identique à l'ajout d'une année ?
Non. Le résultat est toujours le 1er janvier de l'année suivante, quels que soient le mois et le jour d'origine.
Le résultat dépend-il d'un fuseau horaire ?
Non. Le calcul utilise directement les composantes de la date et n'effectue aucune conversion en heure locale.
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/start-of-next-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-08-19"}'const res = await fetch("https://api.kit.forhosting.com/date/start-of-next-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-08-19"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/start-of-next-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-08-19"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/start-of-next-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-08-19"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-08-19"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/start-of-next-year", 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-08-19"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.start_of_next_year",
"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. |