Calculateur d'années de service
Une personne embauchée le 15 mars 2018 cumule 8 ans, 4 mois et 10 jours de service au 25 juillet 2026. Saisissez la date d'embauche et la date d'arrêt pour vérifier une prime d'ancienneté ou une période d'acquisition en années accomplies. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Date d'embauche
- 2018-03-15
- Date de référence
- 2026-07-25
- Années de service
- 8
- Mois
- 4
- Jours
- 10
- Total de jours
- 3 054
Les équipes RH, l'ingénierie paie et les administrateurs d'avantages recherchent un calculateur d'années de service lorsqu'ils ont besoin de l'ancienneté complétée entre une date d'embauche et une date de coupure qui ne dérive jamais avec l'horloge du serveur. Cette capacité accepte une date de début d'emploi et une date de référence obligatoire, applique les règles grégoriennes proleptiques avec clamp de fin de mois, et renvoie les années de service entières complétées plus les mois et jours restants. Utilisez-la lorsque le texte produit parle de cinq ans de service, d'insignes de dix ans ou de falaises de vesting mesurées en années civiles complétées plutôt qu'en comptages bruts de jours divisés par trois cent soixante-cinq.
Date d'embauche, date de référence et pourquoi l'horloge n'est jamais utilisée
Chaque valeur doit être un jour civil au format YYYY-MM-DD, par exemple deux mille dix-huit tiret zéro trois tiret quinze pour l'embauche et deux mille vingt-six tiret zéro sept tiret vingt-cinq pour l'instantané d'évaluation. Vous pouvez passer un préfixe date-heure ISO-8601 complet ; si une heure est présente, seule la partie calendrier est utilisée, car les années de service pour les avantages sont une mesure de date à date, non une durée d'horloge avec fuseaux.
Les années vont de un à neuf mille neuf cent quatre-vingt-dix-neuf, les mois de un à douze, et le jour doit exister dans ce mois selon les règles de bissextile grégoriennes, y compris le vingt-neuf février uniquement les années bissextiles. Si la date de référence tombe strictement avant l'embauche, la requête échoue avec un message clair indiquant que les années de service ne peuvent pas être négatives, plutôt que d'inventer une ancienneté signée que la plupart des interfaces étiquetteraient à tort comme service complété.
Comment les années, mois et jours complétés sont comptés
Les champs months et days complètent l'intervalle résiduel après ces années entières, afin que les tableaux de bord affichent à la fois le seuil de vesting et un reste lisible. L'algorithme mesure des mois civils entiers de l'embauche vers la référence, en clampant le jour du mois lorsque le mois cible est plus court : une embauche le trente et un janvier avance d'un mois jusqu'au dernier jour de février en années bissextiles et non bissextiles.
Si cette date provisoire après avance de mois dépassait la référence, le moteur recule d'un mois et rapporte l'intervalle restant en jours civils entiers. Les années de service sont le total de mois entiers divisé par douze ; les mois, le reste modulo douze ; les jours terminent le triplet. Cette décomposition correspond mieux au langage RH courant sur les années de service complétées que de diviser les jours totaux par une longueur moyenne fixe d'année, qui dérive sur les bissextiles et les mois longs.
Ancienneté pour les avantages et limites du calcul
Utilisez le calculateur gratuit d'années de service dans le navigateur pour les démos RH, le libre-service managers et les contrôles ponctuels de primes sans installer de bibliothèques de dates ni expédier une base de fuseaux à chaque client.
Associez ce point de terminaison à un outil de comptage de jours lorsque vous avez aussi besoin de la seule longueur d'intervalle, ou à un outil d'âge en années, mois et jours lorsque le produit doit calculer l'âge civil depuis une naissance plutôt que l'ancienneté d'emploi depuis une embauche—ce sont des intentions de recherche et des noms de champs différents même si l'arithmétique de calendrier est apparentée.
Gardez des attentes honnêtes : cette capacité mesure l'ancienneté civile grégorienne entre deux dates explicites ; elle n'omet pas les week-ends comme ancienneté ouvrée, ne charge pas les calendriers de jours fériés, n'applique pas de tables d'anniversaire syndicales, ne proratise pas les primes d'année partielle et ne fixe pas la référence à aujourd'hui sur le serveur. Les entrées suivent les mêmes règles de conservation que les autres éléments parse du KIT.
Comme l'implémentation est parse pure de niveau A, chaque appel réussi reste bon marché, déterministe et sans jetons de modèle ni réseau sortant, exactement ce dont les suites de régression ont besoin pour figer les cas d'anniversaire sur des décennies de dates d'embauche.
Questions fréquentes
Que se passe-t-il si la date de référence est avant l'embauche ?
Les années de service ne peuvent pas être négatives ; corrigez la paire ou n'inversez les champs que si votre produit mesure volontairement une date de début future.
Comment sont traitées les embauches un 29 février et les anniversaires de fin de mois ?
Mois et années avancent avec clamp au dernier jour valide du mois cible. Une embauche le 29 février devient le 28 février les années d'anniversaire non bissextiles, selon la pratique civile RH courante.
Pourquoi ne pas simplement diviser les jours travaillés par 365 ?
Parce que les primes et les règles d'acquisition comptent des années civiles accomplies, et les années bissextiles font dériver un simple décompte de jours. Compter les années, puis les mois, puis les jours donne le chiffre que la règle RH vise.
L'ancienneté est-elle calculée jusqu'à aujourd'hui automatiquement ?
Non. La date de référence est toujours obligatoire et aucune horloge n'est lue : les deux mêmes dates donnent la même ancienneté sur n'importe quel ordinateur, dans n'importe quel pays, à tout moment.
Quand tombe le prochain anniversaire de service ?
Le résultat indique le dernier et le prochain anniversaire. Pour une embauche le 15 mars 2018 et une référence au 25 juillet 2026, le dernier est le 2026-03-15 et le prochain le 2027-03-15.
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/years-of-service \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hire_date":"2018-03-15","reference_date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/years-of-service", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hire_date": "2018-03-15",
"reference_date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/years-of-service",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hire_date": "2018-03-15",
"reference_date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/years-of-service", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hire_date":"2018-03-15","reference_date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hire_date":"2018-03-15","reference_date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/years-of-service", 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
{
"hire_date": "2018-03-15",
"reference_date": "2026-07-25"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.years_of_service",
"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
Les jours de calendrier invalides et les paires de dates inversées échouent avec invalid_input et ne sont pas facturés ; les éléments réussis coûtent $0.002 du solde KIT.
Date d'embauche, date de référence et pourquoi l'horloge n'est jamais utilisée
Envoyez deux champs chaîne obligatoires : hire_date et reference_date. Les alias optionnels hire, start_date, employment_start et from correspondent au champ d'embauche ; reference, as_of, to, on et evaluation_date au champ de référence, afin que les formulaires RH et les SDK conservent des noms familiers. Les deux champs sont obligatoires à dessein : un calculateur d'ancienneté qui substitue en silence l'horloge de l'hôte produit des réponses différentes en CI, sur un portable d'une autre région et sur un worker API en UTC, ce qui casse les audits de primes et les exports de paie reproductibles. Les paires impossibles comme deux mille vingt-trois tiret zéro deux tiret vingt-neuf sont rejetées avec invalid_input au lieu d'être forcées en mars.
Comment les années, mois et jours complétés sont comptés
En cas de succès la réponse renvoie hire_date et reference_date normalisés en YYYY-MM-DD, puis years_of_service comme le nombre d'années civiles entières d'ancienneté complétées—le chiffre que les règles d'éligibilité signifient généralement en disant cinq ans de service. Le champ total_days est la différence civile exclusive entre les deux ordinaux : le même jour de calendrier donne zéro total_days et zéro année de service, tandis que le jour suivant donne un jour de service. Les champs last_anniversary et next_anniversary sont les dates d'anniversaire d'embauche après years_of_service et years_of_service plus une année complétée, avec les embauches du vingt-neuf février clampées au vingt-huit février les années cibles non bissextiles.
Usage API, tarification, flux d'avantages et limites honnêtes
Envoyez en POST un corps JSON compact avec les chaînes hire_date et reference_date. Appelez l'API prépayée lorsque des lots de paie, des seuils de vesting d'equity, des paliers d'accumulation de PTO ou des programmes de primes d'ancienneté ont besoin d'un contrat stable sous solde KIT à $0.002 par élément réussi ; les échecs de validation ne consomment jamais le solde après le rejet du moteur. Les auteurs de SDK peuvent mapper years_of_service vers un badge principal d'éligibilité et afficher months, days et la chaîne formatted pour les libellés d'accessibilité, avec la même forme de réponse dans chaque liaison de langue.
Cas d'intégration
Primes d'ancienneté et programmes de reconnaissance
Évaluez hire_date par rapport à une cérémonie de primes ou un reference_date de coupure fiscale pour décider qui a complété cinq, dix ou vingt ans de service avant d'imprimer les certificats.
Vesting d'avantages et seuils d'éligibilité
Conditionnez le vesting de matching, le congé de longue ancienneté ou les aides à la formation aux years_of_service complétés du début d'emploi jusqu'à une date d'évaluation du plan.
Exports par lots de paie et HRIS
Capturez l'ancienneté de chaque employé contre une seule date as-of de paie afin que rapports et tests golden reproduisent les mêmes années, mois et jours à chaque exécution.
Questions techniques
Comment calculer les années de service à partir d'une date d'embauche ?
Envoyez un JSON avec hire_date et reference_date en YYYY-MM-DD. La réponse inclut years_of_service (années entières complétées), months, days, total_days, last_anniversary, next_anniversary et une chaîne formatted.
Utilise-t-il automatiquement la date du jour ?
Non. reference_date est obligatoire. Le moteur ne lit jamais l'horloge système, donc les résultats restent identiques en CI, navigateurs et workers API.
Combien coûte le calculateur d'années de service ?
L'outil navigateur est gratuit sur votre appareil. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; l'entrée invalide n'est pas facturée.