勤続記念日計算機
2019年6月1日入社の人は、2026年7月25日から311日後の2027年6月1日に勤続8周年を迎えます。入社日と基準日を入力すれば、上司へのお知らせや面談、感謝のメッセージを準備できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 入社日
- 2019-06-01
- 基準日
- 2026-07-25
- 次の記念日
- 2027-06-01
- 残り日数
- 311
- 記念日の回数
- 8
- 整形済み
- 8th work anniversary on 2027-06-01 (311 days remaining)
人事・労務のツール、表彰基盤、マネージャのダッシュボードは、すでに完了した勤続の三つ組ではなく、次の雇用記念日と市民暦の全日数によるカウントダウンが必要なときに勤続記念日の日付計算機を探します。本機能は入社日と必須の基準日を受け取り、ホスト時計は読まず、その基準日当日またはそれ以降の次回記念日、残りの整数日、今日近づいているまたは祝う記念日番号を返します。閏日入社は非閏の目標年では二月二十八日へクランプし、結果は必ず実在するグレゴリオ暦日になります。
入社日・基準日と、時計を使わない理由
各値は YYYY-MM-DD 形式の市民暦日とし、たとえば入社は二千十九年ハイフン零六ハイフン零一、評価スナップショットは二千二十六年ハイフン零七ハイフン二十五です。完全な ISO-8601 日時プレフィックスも渡せます。時刻がある場合は暦日部分のみ使い、勤続記念日はタイムゾーン付きの時計長ではなく日付間の市民行事だからです。
年は一から九千九百九十九、月は一から十二、日はその月のグレゴリオ閏規則で存在する日で、二月二十九日は閏年のみです。基準日が入社日より前だと、次回の勤続記念日は雇用開始より前には置けないという明確なメッセージで失敗し、多くの製品画面が残り日数と誤表示しがちな符号付きカウントダウンは作りません。
記念日のお知らせと計算の限界
マネージャのセルフサービス、単発の表彰確認、製品デモには、日付ライブラリを入れたりタイムゾーン DB を全クライアントへ送ったりせず、ブラウザの無料勤続記念日計算機を使えます。検証失敗はエンジン拒否後に残高を消費しません。
すでに得た年・月・日の勤続も必要なときは完了勤続ツールと、記念日番号を気にせず区間の長さだけが必要なときは汎用の日数ツールと組み合わせてください。期待は正直に保ってください。
本機能は二つの明示日のあいだのグレゴリオ市民記念日を測るだけで、営業日として週末を飛ばしたり、祝日カレンダーを読み込んだり、組合固有の表彰表を適用したり、実際のメールを予約したり、サーバーで基準を「今日」に既定したりはしません。入力の保持は他の KIT parse 項目と同じ規則です。応答形はどの言語バインディングでも同じです。
実装は純粋 parse のティア A のため、成功呼び出しは安価で決定的で、モデルトークンも外向きネットワークもなく、閏日入社と年央スナップショットを数十年分の雇用記録でピン留めする回帰スイートにちょうど適しています。
活用例
マネージャへのリマインダと一対一面談の準備
直属の次回勤続記念日まで何日残るかをマネージャに示し、面談の議題に一言、贈り物、公開の感謝を入れられるようにします。
よくある質問
2019年6月1日に入社した場合、次の勤続記念日はいつですか?
2026年7月25日を基準にすると、次は2027年6月1日の8周年で、残りは311日です。前回の2026年6月1日は、基準日の時点ですでに過ぎています。
2月29日に入社した場合はどうなりますか?
2月29日がない年は、記念日を2月28日に移すので、必ず実在する日付になります。うるう年には、そのまま2月29日が記念日です。
基準日がちょうど記念日の場合はどうなりますか?
その日がそのまま答えになり、残りは0日で、今日が記念日であることが示されます。毎日のお祝い対象者の一覧づくりに便利です。
今日の日付は自動で使われますか?
使われません。時計は参照しないので、基準日は必ずご自身で入力します。今日の日付を入れれば現在の残り日数が、別の日付なら過去や未来の状況が分かります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/work-anniversary \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hire_date":"2019-06-01","reference_date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/work-anniversary", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hire_date": "2019-06-01",
"reference_date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/work-anniversary",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hire_date": "2019-06-01",
"reference_date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/work-anniversary", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hire_date":"2019-06-01","reference_date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hire_date":"2019-06-01","reference_date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/work-anniversary", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"hire_date": "2019-06-01",
"reference_date": "2026-07-25"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.work_anniversary",
"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 が慣れた名前を保てます。両フィールドは意図的に必須です。二千二十三年ハイフン零二ハイフン二十九のような不可能な組は三月へクランプせず invalid_input で拒否します。
次回記念日と残り日数の求め方
エンジンはまず入社日に完全な暦年を月末クランプ付きで足して完了した記念年を数え、そのクランプ日が基準にぴったり重なるかを問います。重なり、かつ雇用が少なくとも一年経過していれば、今日が記念日でカウントダウンは零です。そうでなければ次回はさらに一年先です。すでに完了した勤続を答える計算機とは検索意図が違います。あちらはどれだけ満了したかを答え、こちらは次のピン・カード・Slack リマインダをいつ発火すべきかを答えます。成功時の応答は正規化した hire_date と reference_date を YYYY-MM-DD でエコーし、next_anniversary を基準日当日またはそれ以降の次の雇用記念日の市民日付として返します。days_remaining はそれら二つの序数の排他的な全日差なので、記念日そのものは残り零日で is_anniversary は真です。anniversary_number はカウントダウン先または今日祝う序数で、一回目は入社の一年後、五回目は五年後、という具合です。二月二十九日入社は非閏の目標年では二月二十八日になり、一般的な人事の市民慣行に合い、そのクランプが次回日にかかったとき leap_adjusted は真です。last_anniversary は少なくとも一度記念日が過ぎたときだけ含め、入社当日と最初の未完了年では省略し、任意キーが null として出ないようにします。
API の使い方・価格・リマインダワークフローと正直な限界
hire_date と reference_date の文字列を含むコンパクトな JSON 本文を POST してください。SDK 作者は next_anniversary と days_remaining を主たるカウントダウンバッジに割り当て、anniversary_number と formatted をアクセシビリティラベルに出せます。
連携の活用例
表彰カレンダーと電子カードの予定
週次の as-of 日に対して全社員の next_anniversary と days_remaining を求め、カード・表彰状・イントラネットの横断幕が正しい市民日に発火するようにします。
HRIS 一括エクスポートでの今後の節目
給与の as-of 日に対して anniversary_number と next_anniversary をスナップショットし、帳票と回帰テストが毎回同じカウントダウンを再現するようにします。
技術的な質問
入社日から次の勤続記念日をどう求めますか。
hire_date と reference_date を YYYY-MM-DD の JSON で送ってください。応答には next_anniversary、days_remaining、anniversary_number、is_anniversary、formatted のカウントダウン文字列が含まれます。
今日の日付は自動で使われますか。
いいえ。reference_date は必須です。エンジンはシステム時計を読まないため、リマインダジョブは CI・ブラウザ・API ワーカーで同じになります。
基準日が記念日そのもののときはどうなりますか。
days_remaining は零、is_anniversary は真です。next_anniversary はその同じ日付、anniversary_number は今日祝う完了年です。
閏日入社はどう扱われますか。
二月二十九日入社は非閏の記念年では二月二十八日になります。そのクランプが次回日にかかると leap_adjusted は真です。
勤続記念日の日付計算機の料金はいくらですか。
ブラウザの道具はお使いの端末で無料です。API 要求は成功一件あたり $0.002 の前払い KIT 残高を使い、無効な入力は課金されません。