UTCオフセットから現地時刻を計算
UTCオフセット現地時刻計算ツールは、固定オフセットが分かっている都市について、既知のUTC時刻を現地の時計表示へ変換します。UTC時刻、都市名、符号付きの時間成分と分成分をご入力ください。結果には現地時刻と、UTC基準日の前日、同日、翌日のどれに当たるかが表示されます。タイムゾーン検索、ネットワーク、システム時計、夏時間の推測は使用しないため、同じ入力から常に同じ結果が得られます。
無料で実行
基準UTC時刻と都市をご入力ください
最初に、協定世界時で表された時刻を24時間制の厳密なHH:MM形式でご入力ください。午前0時は00:00、正午は12:00、最後の有効な分は23:59です。都市欄は結果を識別するためのラベルであり、地理情報の検索を依頼する欄ではありません。たとえばKathmanduと入力しても、タイムゾーンサービスへの照会や、現在適用されるオフセットの自動判定は行われません。日付と状況に適したオフセットは、お客様にてご用意ください。この区別が必要なのは、都市によって夏時間があり、行政機関が標準時の規則を変更する場合や、過去と現在でオフセットが異なる場合があるためです。信頼できる情報源で該当するオフセットをご確認のうえ、UTC時刻と一緒に入力してください。厳密な形式により曖昧な時刻を防ぎ、都市ラベルにより予定表や報告書でも結果を明確に表示できます。
符号付きUTCオフセットをご指定ください
整数の時間部分をoffset_hoursに、残りの分をoffset_minutesにご入力ください。正の値はUTCより進んだ時計、負の値はUTCより遅れた時計を表します。+05:45は5時間と45分、-03:30は-3時間と-30分で指定します。0以外の両成分は、方向を明確にするため同じ符号にしてください。1時間未満の負のオフセットでは、時間を0、分を負の値にします。対応する合計範囲は-12:00から+14:00までです。分は-59から59までの整数である必要があり、小数や範囲外の値を丸めたり自動で繰り上げたりはしません。検証後、オフセット全体を符号付き分数へ変換し、UTC午前0時からの経過分に加算します。この方法により、30分や15分単位のオフセットも、不正確な小数時間を使わず安定して処理できます。
現地時刻と日付のずれをご確認ください
local_timeには、先頭を0で補った24時間制HH:MM形式の変換結果が入ります。day_offsetはUTC基準日との関係を表し、-1は前日、0は同日、1は翌日です。UTCの一日の終わりに正のオフセットを加えると翌日に進み、UTC午前0時直後に負のオフセットを適用すると前日に戻る場合があります。本ツールは日付を受け取らないため、月、曜日、変換後の日付を推測しません。既知の日付には、適切なカレンダー処理を用いてday_offsetを適用してください。結果には都市、両方の時刻、オフセット成分が残るため、計算内容を確認できます。処理は範囲の限られた整数演算のみで、端末の地域設定、タイムゾーン、現在時刻に依存しません。不正な入力は型付きエラーになります。API利用料金は1回あたり$0.002で、同じ計算をブラウザーでも実行できます。
活用例
遠隔会議を準備する
適用オフセットが既知の場合、UTCで決めた会議時刻を参加者の都市の時計表示へ変換します。
旅程を作成する
UTC記録から作る予定表に目的地時刻を表示し、日付変更の情報も保持します。
運用画面を統一する
サーバーのタイムゾーン設定に依存せず、UTCイベント時刻を固定オフセットの都市表示へ変換します。
よくある質問
都市の現在のUTCオフセットを検索しますか?
いいえ。オフセットはお客様が指定し、都市名は結果を説明するラベルとしてのみ使用します。
夏時間は考慮されますか?
いいえ。季節規則をご確認のうえ、場所と日付に適用される固定オフセットをご入力ください。
UTC-03:30はどのように入力しますか?
offset_hoursを-3、offset_minutesを-30として、両成分がUTCより遅い方向を示すようにします。
day_offsetは何を意味しますか?
UTC基準日に対して、-1は前日、0は同日、1は翌日を示します。
APIリクエストの料金はいくらですか?
APIリクエストは1回あたり$0.002です。決定的な計算はブラウザーでも直接実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/local-time-from-offset \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"utc_time":"18:45","city":"Kathmandu","offset_hours":5}'const res = await fetch("https://api.kit.forhosting.com/date/local-time-from-offset", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"utc_time": "18:45",
"city": "Kathmandu",
"offset_hours": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/local-time-from-offset",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"utc_time": "18:45",
"city": "Kathmandu",
"offset_hours": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/local-time-from-offset", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"utc_time":"18:45","city":"Kathmandu","offset_hours":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"utc_time":"18:45","city":"Kathmandu","offset_hours":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/local-time-from-offset", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"utc_time": "18:45",
"city": "Kathmandu",
"offset_hours": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.local_time_from_offset",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |