日時に分を加算
予定、ログ、期限、引き継ぎ、テスト用データなどで、基準時刻から正確にずらした瞬間が必要な場合に分を加算できます。Zまたは数値のタイムゾーンオフセットを含む完全なISO日時と、正・負・ゼロの整数分を指定してください。カレンダーとオフセットを検証し、指定された瞬間をUTCへ変換してから確定的に計算し、正規化されたUTC日時を返します。現在時刻を参照せず、タイムゾーンを推測せず、実行環境にも依存しません。
無料で実行
完全で曖昧さのない開始時刻を指定してください
開始値には、暦日、区切り文字T、時、分、秒、明示的なタイムゾーン指定を含むISO日時を入力してください。末尾がZの値は、すでにUTCを表します。+02:00や-05:30のようなオフセットで終わる値は、現地時計の各項目とUTCからの正確な差を表します。この接尾辞を必須にすることで、解析するコンピューター、ブラウザー、サーバーによって意味が変わる、タイムゾーンなしのローカル時刻による一般的な予定ミスを防ぎます。日付部分は、グレゴリオ暦の閏年と月の日数の規則で検証します。そのため、存在しない日付を暗黙に補正せず、入力エラーとして扱います。時は00から23、分と秒は00から59の範囲で指定してください。任意の小数秒は1桁から3桁まで指定でき、瞬間の一部として保持されます。Europe/Londonのような名称は、過去の規則データが必要で夏時間の曖昧さも生じるため受け付けません。意図する瞬間を明示する数値オフセットをご使用ください。
分の加算とUTC変換の仕組みをご確認ください
最初に、指定された日付、時計時刻、数値オフセットを一つの絶対的な瞬間として解釈します。暦の算術によってその瞬間をUTCへ変換し、続いて指定された符号付き整数分を加えます。正の数は未来へ、負の数は過去へ移動し、ゼロの場合はUTCへの正規化だけを行います。繰り上がりと繰り下がりは、時、日、月、閏日、年、世紀のすべての境界を正しく越えます。結果は必ずZで終わるため、保存や比較に使うタイムゾーンが明確で一貫します。加える値は1分の整数倍なので、秒と小数秒は変わりません。実装ではJavaScriptのDateコンストラクターもシステム時計も使用しません。グレゴリオ暦の日数を数え、オフセットと分を整数として処理し、UTCの暦項目を再構成します。したがって、ブラウザー、worker、自動テスト、サーバーのいずれでも、言語設定やホストのタイムゾーンにかかわらず、同じ入力から同じ出力が得られます。
自動処理やテストで結果を安全にご利用ください
この機能は、開始時刻が既知で、再現可能な派生タイムスタンプが必要な処理に適しています。たとえば、イベントの三十分後に通知を設定する、固定猶予期間の期限を計算する、明示されたオフセット付きの取込レコードをUTCへ移す、午前零時や閏日の境界を扱うテストデータを作る、といった用途があります。返却オブジェクトには、前後の空白を除いた元の日時、正規化された整数の分数、移動後の結果、明示的なUTCラベルが含まれます。別のシステムが正規化されたタイムスタンプを要求する場合は、結果フィールドを保存または比較してください。これは経過分の算術であり、地域名に基づく民間時刻の予定計算ではありません。六十分の加算は常に正確に3,600秒を加え、夏時間の切替や営業日カレンダーは参照しません。地域のオフセット変更後も予定を同じ壁時計時刻に保つ必要がある場合は、呼び出し前に地域と意図するオフセットを確定してください。不正な入力には型付きエラーを返します。API実行は1件あたり$0.002で、ブラウザーでも同じ純粋な計算を使用します。
活用例
正確な期限を設定
トークン、予約、アップロードのタイムスタンプに固定の猶予時間を加え、算出したUTC期限を保存します。
オフセット付き時刻を正規化
オフセット付き日時にゼロ分を加え、同じ瞬間を表す正規化されたUTC表記を取得します。
境界条件のテストデータを作成
現在の時計を参照せず、午前零時、月末、閏日、年末を越える確定的なテスト事例を生成します。
よくある質問
API呼び出しの料金はいくらですか?
1件あたり$0.002です。ブラウザー版は同じ確定的な計算を端末内で実行します。
現在の日付や時刻を使用しますか?
いいえ。リクエストで明示された日時と分数だけを使用します。
負の分数も指定できますか?
はい。負の整数は経過分を減算し、ゼロは瞬間をUTCへ正規化するだけです。
日時にZまたは数値オフセットが必要なのはなぜですか?
これらがないローカル時刻は一意の瞬間を示さず、ホストのタイムゾーンによって変わるためです。
夏時間を処理できますか?
入力の明示的な数値オフセットは尊重しますが、タイムゾーン名から地域の夏時間規則を推定しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/add-minutes \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"datetime":"2026-07-25T23:45:30Z","minutes":30}'const res = await fetch("https://api.kit.forhosting.com/date/add-minutes", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"datetime": "2026-07-25T23:45:30Z",
"minutes": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/add-minutes",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"datetime": "2026-07-25T23:45:30Z",
"minutes": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/add-minutes", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"datetime":"2026-07-25T23:45:30Z","minutes":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"datetime":"2026-07-25T23:45:30Z","minutes":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/add-minutes", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"datetime": "2026-07-25T23:45:30Z",
"minutes": 30
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.add_minutes",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |