勤続年数計算機
2018年3月15日入社の人は、2026年7月25日時点で勤続8年4か月10日です。入社日と基準日を入力すれば、永年勤続表彰や権利確定の条件を、満了した暦年で確かめられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 入社日
- 2018-03-15
- 基準日
- 2026-07-25
- 勤続年数
- 8
- 月数
- 4
- 日数
- 10
- 合計日数
- 3,054
人事・給与エンジニア・福利厚生の担当者は、入社日とサーバー時計に左右されない締切日のあいだの完了勤続を求めるときに、勤続年数計算機を探します。本機能は雇用開始日と必須の基準日を受け取り、先発的グレゴリオ暦と月末クランプを適用し、完了した勤続年数と残りの月・日を返します。五年勤続・十年バッジ・完了暦年で測るベスティング崖など、三百六十五で割った生の日数ではなく完了した暦年で語るプロダクト文言に使ってください。
入社日・基準日と、時計を使わない理由
各値は YYYY-MM-DD 形式の市民暦日とし、たとえば入社は二千十八年ハイフン零三ハイフン十五、評価スナップショットは二千二十六年ハイフン零七ハイフン二十五です。完全な ISO-8601 日時プレフィックスも渡せます。時刻がある場合は暦日部分のみ使い、福利厚生の勤続年数はタイムゾーン付きの時計長ではなく日付間の測度だからです。
年は一から九千九百九十九、月は一から十二、日はその月のグレゴリオ閏規則で存在する日で、二月二十九日は閏年のみです。基準日が入社日より前だと、勤続年数は負にできないという明確なメッセージで失敗し、多くの UI が完了勤続と誤表示しがちな符号付き勤続は作りません。
完了した年・月・日の数え方
months と days はそれらの完全年のあとの残りの幅を埋め、ダッシュボードがベスティング崖の数と人が読める余りを同時に示せます。アルゴリズムは入社日から基準日へ向かって完全な暦月を測り、目標月が短いときは日を月末へクランプします。一月三十一日入社は閏年・平年とも二月の末日へ一月進みます。
その仮の月送り日が基準を超えると、エンジンは一月戻し、残りの幅を市民暦の全日数で報告します。勤続年数は完全月の合計を十二で割った値、月は十二の剰余、日が三つ組を閉じます。固定の平均年長で総日数を割る方法は閏年と長い月でずれやすいのに対し、この内訳は完了勤続年数についての一般的な人事表現により近くなります。
福利厚生での使い方と計算の限界
人事デモ・マネージャのセルフサービス・単発の表彰確認には、日付ライブラリを入れたりタイムゾーン DB を全クライアントへ送ったりせず、ブラウザの無料勤続年数計算機を使えます。検証失敗はエンジン拒否後に残高を消費しません。区間の長さだけが必要なときは純粋な日数ツールと、出生日から市民年齢を求める必要があるときは年・月・日の年齢ツールと組み合わせてください。
期待は正直に保ってください。本機能は二つの明示日のあいだのグレゴリオ市民勤続を測るだけで、営業日として週末を飛ばしたり、祝日カレンダーを読み込んだり、組合固有の記念表を適用したり、部分年の表彰を按分したり、サーバーで基準を「今日」に既定したりはしません。入力の保持は他の KIT parse 項目と同じ規則です。
応答形はどの言語バインディングでも同じです。実装は純粋 parse のティア A のため、成功呼び出しは安価で決定的で、モデルトークンも外向きネットワークもなく、数十年分の入社日の記念日境界をピン留めする回帰スイートにちょうど適しています。
よくある質問
閏日入社と月末記念日はどう扱われますか?
月と年は目標月の最終有効日へクランプして進めます。二月二十九日入社は非閏の記念年では二月二十八日となり、一般的な市民暦の人事慣行に合います。
勤務日数を365で割るだけではだめですか?
表彰や権利確定の決まりは満了した暦年で数えるため、うるう年があると日数の割り算はずれていきます。年、月、日の順に数えることで、人事の規程どおりの年数になります。
今日までの勤続年数を自動で計算しますか?
しません。基準日は必ず入力が必要で、時計は参照しません。そのため同じ2つの日付なら、どのコンピューターでも、どの国でも、いつでも同じ結果になります。
次の勤続記念日はいつか分かりますか?
分かります。結果には前回と次回の記念日が表示されます。2018年3月15日入社で基準日が2026年7月25日なら、前回は2026-03-15、次回は2027-03-15です。
基準日が入社日より前だとどうなりますか?
受け付けません。マイナスの勤続年数を出すのではなく、基準日が入社日より前であることを知らせるので、入力の取り違えにすぐ気付けます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"hire_date": "2018-03-15",
"reference_date": "2026-07-25"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.years_of_service",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無効な暦日や前後逆の日付対は invalid_input で失敗し課金されず、成功した項目は KIT 残高から $0.002 です。
入社日・基準日と、時計を使わない理由
必須の文字列フィールド hire_date と reference_date を送ってください。任意エイリアス hire・start_date・employment_start・from は入社フィールドに、reference・as_of・to・on・evaluation_date は基準フィールドに対応し、人事フォームや SDK が慣れた名前を保てます。両フィールドは意図的に必須です。ホストの壁時計を黙って差し替える勤続計算機は、CI・別地域のノート PC・UTC の API ワーカーで答えが食い違い、表彰監査や再現可能な給与エクスポートを壊します。二千二十三年ハイフン零二ハイフン二十九のような不可能な組は三月へクランプせず invalid_input で拒否します。
完了した年・月・日の数え方
成功時の応答は正規化した hire_date と reference_date を YYYY-MM-DD でエコーし、years_of_service を完了した暦年の勤続年数—「五年勤続」と言うときの適格ルールが通常意味する数—として返します。total_days は二つの序数の排他的な市民日差で、同じ暦日は total_days も勤続年数も零、翌日は勤続一日です。last_anniversary と next_anniversary は years_of_service および years_of_service に一年加えた入社記念日で、二月二十九日入社は非閏の目標年では二月二十八日へクランプします。
API の使い方・価格・福利厚生ワークフローと正直な限界
hire_date と reference_date の文字列を含むコンパクトな JSON 本文を POST してください。給与バッチ・株式ベスティング閾値・PTO 積立段階・勤続表彰プログラムが安定した契約を必要とするときは、成功一件あたり $0.002 の KIT 残高で前払い API を呼び出してください。入社からの勤続とは検索意図もフィールド名も異なり、暦の算術が近いだけです。SDK 作者は years_of_service を主たる適格バッジに割り当て、months・days・formatted をアクセシビリティラベルに出せます。
連携の活用例
勤続表彰と表彰プログラム
hire_date を表彰式または会計締切の reference_date と照合し、証明書印刷前に五年・十年・二十年の勤続完了者を判定します。
福利厚生のベスティングと適格崖
雇用開始から計画で定義した評価日までの完了 years_of_service で、マッチングのベスティング・長期勤続休暇・学費援助をゲートします。
給与・HRIS のバッチ出力
単一の給与 as-of 日に対して全社員の勤続をスナップショットし、レポートと golden テストが毎回同じ年・月・日を再現します。
技術的な質問
入社日から勤続年数をどう計算しますか?
hire_date と reference_date を YYYY-MM-DD の JSON で送ってください。応答には years_of_service(完了した整年)、months、days、total_days、last_anniversary、next_anniversary、formatted 文字列が含まれます。
今日の日付は自動で使われますか?
いいえ。reference_date は必須です。エンジンはシステム時計を読まないため、CI・ブラウザ・API ワーカーで結果は同一です。
基準日が入社日より前だとどうなりますか?
invalid_input で失敗します。勤続年数は負にできません。意図的に将来の開始日を測る場合を除き、組を直すかフィールドを入れ替えないでください。
勤続年数計算機の料金は?
ブラウザツールはお使いの端末で無料です。API リクエストは成功一件あたり $0.002 の前払い KIT 残高を使い、無効入力は課金されません。