何周年か計算
ある日付が何周年にあたるかが分かります。2014年3月15日に入社した人は、2024年3月15日に勤続10周年を迎えます。前回と次回の記念日の日付も表示され、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- イベントの日付
- 2014-03-15
- As of
- 2024-03-15
- 記念日の回数
- 10
- 記念日の回数
- 10th
- 直近の記念日
- 2024-03-15
- 次の記念日
- 2024-03-15
何周年かを調べるのは、実務的な問いに明確な答えが必要なときです。ある暦日に入社した人が、後の日付で何回目の勤続記念日を迎えるのか—5周年、10周年、25周年—を知りたい場合です。結婚記念日、製品リリースの節目、会員更新、元の出来事から満了した年数で発火する勤続表彰でも同じ需要があります。一般的な日付差ツールは総日数や年齢の内訳を返しますが、「これは10周年です」という序数ラベルや、基準日が観測される記念日そのものかどうかの旗は返しません。本機能は厳密なISO暦日を2つ受け取り、グレゴリオ暦のうるう規則を検証し、年齢と同様の月日ロジックで満了年数を数え、2月29日の出来事はうるう年でない年では2月28日として扱い、記念日番号・英語序数・前回と次回のISO日付・短い式を返します。
2つのISO日付から記念日番号をどう計算するか
まず、国際ISO形式の年-月-日(桁幅固定)で、市民暦の日付を2つ用意します。すべてのクライアントが同じ6つの整数で一致するようにします。元のイベント日(入社日・挙式日・創業日・初回課金日)と、ラベル付けしたい基準日です。
各文字列について、年が1から9999の実用的なグレゴリオ暦範囲にあること、月が1から12であること、その月の日がその年のうるう規則で存在することを確認します。うるう年は4で割り切れる年ですが、世紀年は400でも割り切れる場合に限ります。この規則により、2024年や2000年では2月29日が有効で、2023年や1900年では無効です。
両方の三要素が有効で、基準日がイベントより前でないとき、基準年からイベント年を引き候補年数を得て、その基準年における観測記念日の月日に基準の月日が到達済みかを見ます。まだ観測月日より前なら1を引き、まだ起きていない満了記念日を主張しません。
観測される記念日はイベントと同じ月日ですが、2月29日のイベントはうるう年でない年では2月28日として扱い、毎年に具体的な暦日を確保します。イベント当日の満了番号は0です—イベントの日であり、まだ第1回記念日ではありません。観測日の1年後は1、10年後は10、という具合です。
処理は整数の比較と演算のみで、乱数シード・壁時計タイムスタンプ・JavaScriptのDate・ネットワーク呼び出しは使いません。
何周年計算が実務で使われる場面
人事・ピープルオペレーションは、ある暦日や直近の期間で5・10・25年の勤続記念日を迎える人の表彰一覧を作り、自由文の年齢ではなく決定論的な番号を必要とします。婚礼・イベント企画は記念日その日に会食を入れ、招待状と印刷プログラム用の明確な序数を求めます。
製品・会員システムは登録や初回購入から満了した年数でバッジ・割引・ロイヤルティ段階を解き、顧客向け記念日ページと一致しなければなりません。後で順序のない2日付の絶対日数、年月日本位の年齢、週末を除く営業日数、単一日付への日加算が必要なら、本ページを過負荷にせず別の検索意図とランディングとして扱ってください。
活用例
勤続・功労表彰の一覧
ISO入社日と基準日から満了した勤続記念日番号と序数を得て、人事が5・10・25年表彰を手計算なしで旗立てできます。
結婚と個人の節目
計画した祝日が何回目の結婚・交際記念日か、その日が観測される記念日そのものかをラベル付けします。
会員・ロイヤルティの年次ゲート
会員の基準日が登録や初回購入から満了した記念日番号に達したとき、年次バッジや割引を解除します。
よくある質問
元のイベント当日の記念日番号は何ですか?
0です。 イベント日は開始であり、まだ第1回記念日ではありません。観測日の1年後は1、10年後は10です。
2月29日(うるう日)のイベントはどう扱いますか?
うるう年でない年では記念日を2月28日として観測し、毎年に具体的な暦日を確保します。うるう年では2月29日のままです。
今年の記念日がまだ来ていない場合は何周年になりますか?
前の番号のままです。満了した年数だけを数えるため、2014年3月15日入社の人は、2024年3月15日の前日の時点ではまだ9周年で、10周年ではありません。
次の記念日がいつかも分かりますか?
はい。番号に加えて、直近の記念日と次の記念日の日付が表示されます。調べた日がちょうど記念日当日かどうかも分かります。
結婚記念日や会社の創立記念にも使えますか?
使えます。入社日、結婚式、創立日、入会日など、元になる出来事の日付なら何でもかまいません。その日付と調べたい日を入力してください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/anniversary-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"event_date":"2014-03-15","as_of":"2024-03-15"}'const res = await fetch("https://api.kit.forhosting.com/date/anniversary-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"event_date": "2014-03-15",
"as_of": "2024-03-15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/anniversary-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"event_date": "2014-03-15",
"as_of": "2024-03-15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/anniversary-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"event_date":"2014-03-15","as_of":"2024-03-15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"event_date":"2014-03-15","as_of":"2024-03-15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/anniversary-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"event_date": "2014-03-15",
"as_of": "2024-03-15"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.anniversary_number",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料のブラウザ経路とAPIは、ホスト時計もJavaScriptのDateも使わない同一の決定論的純モジュールを共有するため、人事スクリプト、式典の計画、教材デモは常に一致します。
送信内容と返却内容
個人や机上の確認には無料のブラウザフォームを、勤続表彰の一括一覧や回帰用フィクスチャには同一契約をスクリプトから呼び出します。必須の文字列フィールドを2つ送ります。event_date と as_of で、それぞれ厳密なISO暦日(例:2014-03-15 と 2024-03-15)です。hire_date、original、start、check_date、reference_date、on などの一般的な別名は同じコアが受け付けるため、人事スクリプトやSEOフォームは計算を変えずに馴染みの名前を使えます。欠落フィールド、非文字列、4-2-2桁パターンに合わない文字列、パターンは合うが実在しない暦日、イベントより前の as_of は invalid_input で失敗し課金されません。成功時は正規化済みの event_date と as_of のISO文字列、非負の満了年数 anniversary_number、英語ラベルの anniversary_ordinal(例:tenth や first)、その年の観測記念日月日と as_of が一致するとき true の is_anniversary_day、as_of 以前の直近と as_of 以後の次回の last_anniversary_date / next_anniversary_date、サポート範囲内なら first_anniversary_date、年齢式ルールと2月29日の扱いを記した短い formula を返します。典型例:2014年3月15日入社と2024年3月15日の as_of で番号10・is_anniversary_day true、その前日で9・false、イベント当日で0、平年の2月28日に観測されるうるう日イベントです。成功したAPI呼び出しの料金は公開ベースの $0.002 毎件で、検証失敗は前払い残高を消費しません。
何周年計算が実務で使われる場面
記者や社内ニュースは「ローンチから10年」と書き、生の日差ではなく特定の as_of における満了数を要します。本機能は純parseエンジンのため、API料金は成功1件あたり公開ベースの $0.002 で、検証失敗は残高を消費しません。
技術的な質問
ある日付が何周年かをどう調べますか?
event_date と as_of を ISO YYYY-MM-DD 文字列で送ってください。API は anniversary_number(イベントからの満了年数・年齢式)、10th などの anniversary_ordinal、as_of が観測記念日と一致するときの is_anniversary_day を返します。
as_of がイベント日より前の場合は?
タスクは invalid_input で失敗します。元のイベントより前には記念日番号を計算できず、無効入力は課金されません。
何周年計算の料金は?
ブラウザツールは無料です。APIリクエストは成功1回あたり $0.002 の前払いKIT残高を使い、無効入力は課金されません。