Calcolatore anni di servizio
Chi è stato assunto il 15 marzo 2018 conta 8 anni, 4 mesi e 10 giorni di servizio al 25 luglio 2026. Inserisca la data di assunzione e quella di riferimento per verificare premi di anzianità o periodi di maturazione in anni compiuti. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Data di assunzione
- 2018-03-15
- Data di riferimento
- 2026-07-25
- Anni di servizio
- 8
- Mesi
- 4
- Giorni
- 10
- Giorni totali
- 3054
I team HR, l'ingegneria paghe e gli amministratori di benefit cercano un calcolatore di anni di servizio quando serve l'anzianità completata tra data di assunzione e data di cut-off che non derivi con l'orologio del server. Questa capacità accetta la data di inizio impiego e una data di riferimento obbligatoria, applica regole gregoriane prolettiche con clamp a fine mese e restituisce gli anni di servizio interi completati più mesi e giorni residui. La usi quando il testo di prodotto parla di cinque anni di servizio, spille decennali o scogliere di vesting misurate in anni di calendario completati piuttosto che in conteggi grezzi di giorni divisi per trecentosessantacinque.
Data di assunzione, data di riferimento e perché l'orologio non viene mai usato
Ogni valore deve essere un giorno civile in forma YYYY-MM-DD, ad esempio duemiladiciotto trattino zero tre trattino quindici per l'assunzione e duemilaventisei trattino zero sette trattino venticinque per lo snapshot di valutazione. Può passare un prefisso data-ora ISO-8601 completo; se è presente un'ora, si usa solo la parte di calendario, perché gli anni di servizio per i benefit sono una misura da data a data, non una durata di orologio con fusi.
Gli anni vanno da uno a novemilanovecentonovantanove, i mesi da uno a dodici, e il giorno deve esistere in quel mese secondo le regole bisestili gregoriane, incluso il ventinove febbraio solo negli anni bisestili. Se la data di riferimento cade strettamente prima dell'assunzione, la richiesta fallisce con un messaggio chiaro che gli anni di servizio non possono essere negativi, anziché inventare un'anzianità con segno che la maggior parte delle interfacce etichetterebbe male come servizio completato.
Come si contano gli anni, i mesi e i giorni completati
I campi months e days completano l'intervallo residuo dopo quegli anni interi, così le dashboard possono mostrare sia la soglia di vesting sia un resto leggibile. L'algoritmo misura mesi di calendario interi dall'assunzione verso la riferimento, clampando il giorno del mese quando il mese destinazione è più corto: un'assunzione il trentuno gennaio avanza di un mese fino all'ultimo giorno di febbraio in anni bisestili e non bisestili.
Se quella data provvisoria dopo l'avanzamento mesi superasse la riferimento, il motore indietreggia di un mese e riporta l'intervallo residuo in giorni civili interi. Gli anni di servizio sono il totale dei mesi interi diviso dodici; i mesi, il resto modulo dodici; i giorni chiudono il triplo. Questa scomposizione si allinea meglio al linguaggio HR comune sugli anni di servizio completati rispetto a dividere i giorni totali per una lunghezza media fissa di anno, che deroga su bisestili e mesi lunghi.
Anzianità per i benefit e limiti del calcolo
Usi il calcolatore gratuito di anni di servizio nel browser per demo HR, self-service manager e controlli una tantum di premi senza installare librerie di date né spedire un database di fusi a ogni client. Mantenga aspettative oneste: questa capacità misura l'anzianità civile gregoriana tra due date esplicite; non salta i fine settimana come anzianità lavorativa, non carica calendari di festività, non applica tabelle sindacali di anniversario, non ripartisce premi di anno parziale né imposta la riferimento a oggi sul server.
Gli input seguono le stesse regole di conservazione degli altri item parse del KIT. Poiché l'implementazione è parse pura di livello A, ogni chiamata riuscita resta economica, deterministica e priva di token di modello o rete in uscita, esattamente ciò di cui le suite di regressione hanno bisogno per fissare casi di anniversario su decenni di date di assunzione.
Domande frequenti
Cosa succede se la data di riferimento è prima dell'assunzione?
Gli anni di servizio non possono essere negativi; corregga la coppia o scambi i campi solo se il Suo prodotto misura di proposito una data di inizio futura.
Come si trattano assunzioni il 29 febbraio e anniversari di fine mese?
Mesi e anni avanzano con clamp all'ultimo giorno valido del mese destinazione. Un'assunzione il 29 febbraio diventa 28 febbraio negli anni di anniversario non bisestili, secondo la pratica civile HR comune.
Quanto costa il calcolatore di anni di servizio?
Lo strumento nel browser è gratuito sul Suo dispositivo.
Perché non basta dividere i giorni lavorati per 365?
Perché premi e regole di maturazione contano anni di calendario compiuti, e gli anni bisestili fanno slittare un semplice conteggio dei giorni. Contare anni, poi mesi e poi giorni dà la cifra che la policy del personale intende.
L'anzianità viene calcolata fino a oggi in automatico?
No. La data di riferimento è sempre obbligatoria e non viene letto alcun orologio, quindi le stesse due date danno la stessa anzianità su qualsiasi computer, in qualsiasi paese e momento.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"hire_date": "2018-03-15",
"reference_date": "2026-07-25"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.years_of_service",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Giorni di calendario non validi e coppie di date invertite falliscono con invalid_input e non sono addebitati; gli item riusciti costano $0.002 dal saldo KIT.
Data di assunzione, data di riferimento e perché l'orologio non viene mai usato
Invii due campi stringa obbligatori: hire_date e reference_date. Gli alias opzionali hire, start_date, employment_start e from mappano sul campo di assunzione; reference, as_of, to, on e evaluation_date sul campo di riferimento, così moduli HR e SDK conservano nomi familiari. Entrambi i campi sono obbligatori di proposito: un calcolatore di anzianità che sostituisce in silenzio l'orologio dell'host produce risposte diverse in CI, su un portatile di un'altra regione e su un worker API in UTC, rompendo audit di premi ed export paghe riproducibili. Coppie impossibili come duemilaventitre trattino zero due trattino ventinove sono rifiutate con invalid_input invece di essere forzate a marzo.
Come si contano gli anni, i mesi e i giorni completati
In caso di successo la risposta ecoa hire_date e reference_date normalizzati come YYYY-MM-DD, poi years_of_service come il conteggio degli anni di calendario interi di anzianità completati—il numero che le regole di idoneità intendono di solito dicendo cinque anni di servizio. Il campo total_days è la differenza civile esclusiva tra i due ordinali: lo stesso giorno di calendario dà zero total_days e zero anni di servizio, mentre il giorno successivo dà un giorno di servizio. I campi last_anniversary e next_anniversary sono le date di anniversario di assunzione dopo years_of_service e years_of_service più un anno completato, con assunzioni del ventinove febbraio clampate al ventotto febbraio negli anni destinazione non bisestili.
Uso API, prezzi, flussi di benefit e limiti onesti
Invii in POST un corpo JSON compatto con le stringhe hire_date e reference_date. Chiami l'API prepagata quando lotti paghe, soglie di vesting equity, scaglioni di accumulo PTO o programmi di premi di servizio necessitano di un contratto stabile sotto saldo KIT a $0.002 per item riuscito; i fallimenti di validazione non consumano mai saldo dopo il rifiuto del motore. Abbini questo endpoint a uno strumento di conteggio giorni quando serve anche solo la lunghezza dell'intervallo, o a uno di età in anni, mesi e giorni quando il prodotto deve calcolare l'età civile da una nascita piuttosto che l'anzianità lavorativa da un'assunzione—sono intenti di ricerca e nomi di campo diversi anche se l'aritmetica di calendario è imparentata. Gli autori di SDK possono mappare years_of_service su un badge primario di idoneità e mostrare months, days e la stringa formatted per etichette di accessibilità, con la stessa forma di risposta in ogni binding di lingua.
Casi di integrazione
Premi di servizio e programmi di riconoscimento
Valuti hire_date rispetto a una cerimonia di premi o a un reference_date di cut-off fiscale per decidere chi ha completato cinque, dieci o venti anni di servizio prima di stampare i certificati.
Vesting dei benefit e scogliere di idoneità
Condizioni il vesting del matching, il congedo di lunga anzianità o i benefit formativi su years_of_service completati dall'inizio impiego a una data di valutazione del piano.
Export batch di paghe e HRIS
Catturi l'anzianità di ogni dipendente rispetto a un'unica data as-of di paga così report e test golden riproducono gli stessi anni, mesi e giorni a ogni esecuzione.
Domande tecniche
Come si calcolano gli anni di servizio da una data di assunzione?
Invii JSON con hire_date e reference_date in YYYY-MM-DD. La risposta include years_of_service (anni interi completati), months, days, total_days, last_anniversary, next_anniversary e una stringa formatted.
Usa automaticamente la data di oggi?
No. reference_date è obbligatorio. Il motore non legge mai l'orologio di sistema, quindi i risultati restano identici in CI, browser e worker API.