勤務時間の重なり率
UTC−5の9–17時とUTC+0の9–17時が重なるのは14:00から17:00 UTCの3時間だけで、短い方の勤務日の37.5%です。各チームのオフセットと勤務時間を入れるだけで、夜勤にも対応します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- オフセットA
- -5
- 開始 A
- 9
- End a
- 17
- オフセットB
- 0
- 開始 B
- 9
- End b
- 17
- オフセット A のラベル
- UTC−5
- オフセット B のラベル
- UTC+0
- チーム A の時間
- 8
- チーム B の時間
- 8
分散チームは一見単純な問いを何度も繰り返します。一方がニューヨークで九時から十七時、他方がロンドンで九時から十七時なら、その二つの勤務日のうち実際に同時なのはどれだけか。勤務時間の重なり率計算機は、都市名でも夏時間データベースでもなく、固定 UTC オフセットと現地の開始・終了時刻で答えます。夜勤は正子を回ります。 オフセットはプラスマイナス十四時間の内側です。
二つの勤務日が重なり率になる仕組み
ここでの勤務日は、二十四時間制の開始時刻から終了時刻までの半開の現地区間に、協定世界時からの固定オフセットを足したものです。UTC マイナス五で九時から十七時のチーム A は 14:00 から 22:00 UTC を占めます。UTC プラス零で九時から十七時のチーム B は 09:00 から 17:00 UTC を占めます。
この二つの区間は 14:00 から 17:00 UTC、つまり三時間を共有します。同じ恒等式が成功応答のすべてに書かれます。終了が開始より早いときは現地窓は夜勤で、UTC 変換の前に正子を回ります。
東京の朝とサンフランシスコの午後は、その回り込みのあと二時間の切片として出会うことが多いです。市民一日の全日は開始零・終了二十四で、UTC 円全体を覆い、相手チームの全時間と重なります。開始と終了が等しい場合は二十四時間と推測せず長さ零の日として拒否します。
表計算ではその二通りの読みが曖昧だからです。九点五のような小数時や 5.5 のようなオフセットは最も近い分へ丸め、インド標準時と九時半開始がホストの Date オブジェクトなしでも正確に残るようにします。
勤務時間の重なり率が役立つ場面
ピープルオペレーションのチームは、二つの拠点に分かれた会社のコア協働時間を書くときに勤務時間の重なり率計算機を使います。ニューヨークとロンドンが八時間のうち三時間しか共有しないなら、四時間の同時在席を求める方針は片方を伸ばさない限り成立しません。無効なオフセットと長さ零の日は残高を消費しません。
オフセットは切符やサーバ設定に既に印刷された UTC± の数のままにしてください。本ツールは America/New_York のような IANA 名を解決せず、夏時間の切替も適用しません。三月にオフセットが変わる地域では、本当に意図する冬の数か夏の数を送ってください。
教えるときは例を対にします。
活用例
フォロー・ザ・サンのサポート配置
二つのサポート窓口の同時分を測り、名簿ツールが重ならない朝を共有シフトとして扱わないようにします。
よくある質問
勤務時間の重なり率はどう計算しますか?
各チームの現地開始と終了を固定オフセットの引き算で UTC へ移し、二つの区間を 24 時間の円上で交わります。
夜勤と正子を回る窓は使えますか?
使えます。 終了が開始より早い場合、窓は現地で正子を回る夜勤として扱い、交わりの前に UTC へ変換します。全日は start 0 と end 24 です。
ニューヨーク 9–17 とロンドン 9–17 の重なりが 37.5 パーセントなのはなぜですか?
UTC−5 09:00–17:00 は 14:00–22:00 UTC、UTC+0 09:00–17:00 は 09:00–17:00 UTC です。
IANA ゾーンや夏時間は使いますか?
使いません。 固定 UTC オフセット(時間。5.5 のような小数を含む)を渡します。名前付きゾーンと DST 切替は対象外で、結果は Date を使わない純粋な恒等式のままです。
一方の勤務日がもう一方に完全に含まれる場合はどうなりますか?
短い方の勤務日のすべての分が同時に働く時間になるため、代表値は100%になります。チームごとの値は異なり、短い勤務枠は全体が重なりますが、長い勤務日は半分程度しか重ならないこともあります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/biz/work-hours-overlap-percent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"offset_a":-5,"start_a":9,"end_a":17,"offset_b":0,"start_b":9,"end_b":17}'const res = await fetch("https://api.kit.forhosting.com/biz/work-hours-overlap-percent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"offset_a": -5,
"start_a": 9,
"end_a": 17,
"offset_b": 0,
"start_b": 9,
"end_b": 17
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/work-hours-overlap-percent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"offset_a": -5,
"start_a": 9,
"end_a": 17,
"offset_b": 0,
"start_b": 9,
"end_b": 17
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/work-hours-overlap-percent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"offset_a":-5,"start_a":9,"end_a":17,"offset_b":0,"start_b":9,"end_b":17}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"offset_a":-5,"start_a":9,"end_a":17,"offset_b":0,"start_b":9,"end_b":17}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/work-hours-overlap-percent", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"offset_a": -5,
"start_a": 9,
"end_a": 17,
"offset_b": 0,
"start_b": 9,
"end_b": 17
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.work_hours_overlap_percent",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
チーム A のオフセット・開始・終了とチーム B の同じ三つ、合計六つの数を送ると、ソルバーは両方の窓を二十四時間の UTC 円へ写像して交わりを取り、重なり分、重なり時間、各チームの日のうち生で共有される割合、そして短いほうの勤務日に対する交わりの百倍である見出しの overlap_percent を返します。
二つの勤務日が重なり率になる仕組み
両日とも八時間なので短いほうは八時間、overlap_percent は三を八で割った百倍、すなわち三十七点五パーセント (37.5) です。utc は現地からオフセットを引いた値を二十四時間で剰余したもの、重なりは円環の一日上の二つの UTC 区間の交わり、overlap_percent は overlap_minutes を team_a_minutes と team_b_minutes の小さいほうで割った百倍です。チーム別の overlap_percent_a と overlap_percent_b は各チーム自身の長さを分母に使うので、八時間の机の中にすっぽり収まる四時間の机は短いチームに百パーセント、長いチームに五十パーセントを出し、見出しは短い日の一分たりとも同時であるため百のままです。
入力契約、応答フィールド、検証規則
時刻は小数でも構いません。無料のブラウザ実行器は同じ同型の solve 関数を走らせるので、手元で通る黄金例は十二桁の固定丸めのあと本番と一致します。必須の有限数六つを持つ JSON オブジェクトを POST してください。offset_a と offset_b は時間単位の固定 UTC オフセットで、それぞれマイナス十四からプラス十四まで(両端を含む)です。別名は utc_a、team_a_offset、a_offset とチーム B 側の対応名です。start_a、end_a、start_b、end_b は零から二十四まで(両端を含む)の現地時計時です。別名は team_a_start、a_start、team_a_end、a_end と B 側の対応名です。end_a が start_a より早いとき A の窓は正子を回り、B も同じ規則です。成功時は本体が六つの丸めた入力と UTC−5 のようなオフセットラベルを返し、team_a_hours、team_b_hours、team_a_minutes、team_b_minutes を報告し、各窓を UTC で team_a_utc_start、team_a_utc_end、team_b_utc_start、team_b_utc_end として出し、真偽値 team_a_wraps と team_b_wraps を付け、overlap_minutes、overlap_hours、overlap_percent、overlap_percent_a、overlap_percent_b、UTC の開始・終了時計の配列 overlap_windows、二つの UTC 区間が同一なら same_window、一行のメッセージ、そして formula 文字列を与えます。例:offset_a がマイナス五、start_a が九、end_a が十七、offset_b が零、start_b が九、end_b が十七なら、重なり三時間、三十七点五パーセント (37.5)、UTC 窓は 14:00 から 17:00 の一つです。検証失敗 — 欠落フィールド、非有限値、絶対値が十四を超えるオフセット、零から二十四の外の開始や終了、長さ零の日 — はフィールド名付きの invalid_input を返し、課金されません。成功呼び出しは公開の基本料金 $0.002 で、単位は item です。
勤務時間の重なり率が役立つ場面
要員モデルは overlap_hours を同時座席数へ換算し、フォロー・ザ・サンのサポート名簿が東京の朝とカリフォルニアの朝を同じシフトだと装わないようにします。営業とカスタマー成功は世界時計で当てずっぽうする代わりに、overlap_windows として出る交わりへ定期通話を置きます。最小共有日を約束する契約文はスクリーンショットではなくテストに overlap_percent を固定できます。実装は parse のティア A なので、成功呼び出しは毎回公開の $0.002 で、モデルトークンも外向きネットワークもありません。同じオフセットと同じ時刻は百パーセントと same_window true、ニューヨーク対ロンドンの九時から十七時は三十七点五パーセント (37.5)、東京の九時から十八時対サンフランシスコの九時から十八時は回り込みを踏まえた短い切片、十五のオフセットは硬い invalid_input 経路を示します。テストに overlap_percent と overlap_minutes を固定すれば、自前のタイムゾーンデータベースを立てなくても手引・SEO ランディング・エッジワーカー向けに再現可能な同時性の算術が得られます。
連携の活用例
二つの拠点のコア協働時間
各オフィスの現地開始・終了と UTC オフセットを overlap_percent と overlap_windows に変換してから、必須の同時協働時間を公開します。
オフセットをまたぐ定例会議枠
世界時計の画面コピーで当てる代わりに、overlap_windows として返る UTC 交わりの中へ定例通話を置きます。
技術的な質問
勤務時間の重なり率計算の料金はいくらですか。
ブラウザの道具は無料です。API 要求は成功一件あたり $0.002 の KIT 前払い残高を使い、無効な入力は課金されません。