ForHosting KIT · 開発者向けツール

2つの日付の中点

2つの日付の中点を求めることは、日数の数え上げやカウントダウン、年齢計算とは別の問いです。時間軸上の既知の2点のちょうど中間にある唯一の瞬間を求めます。この中点計算機は、Zまたは数値オフセット付きの完全なタイムスタンプ、あるいはUTCの真夜中として扱う日付のみの文字列という、明示的なISO-8601日時を2つ受け取り、純粋なグレゴリオ算術で双方をエポックミリ秒に変換し、和の決定的な床関数で平均し、ミリ秒精度のUTC中間日時を返します。連続する2日の真夜中同士なら正午、1秒の間隔なら0.5秒、同一端点なら同じ瞬間、といった古典的な確認ができます。エンジンはホスト時計もネットワークもプラットフォームのDateオブジェクトも使わないため、同じ入力は無料のブラウザウィジェットでも、成功リクエストあたり$0.002のAPIでも常に同じ中点になります。プロジェクトの中間マイルストーン、請求ウィンドウの中心、CIの再現可能なフィクスチャに使えます。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

瞬間の中点の意味と応答に含まれる内容

2つの絶対瞬間を平均することは、数直線上の線分の中点を求める操作の時間版です。会議・研究・キャンペーン・契約ウィンドウの開始と終了が分かっていれば、中点は両端からミリ秒単位で等距離にある唯一のUTC瞬間です。複数日にまたがる期間を「3月の半ば」とざっくり言うときの暦上の中日でもなく、週末を飛ばす営業日中点でもなく、オフセットを無視して各暦日がちょうど24時間だと仮定する壁時計平均でもありません。startとendをISO-8601文字列で渡します。それぞれは任意の小数秒とZまたは時分オフセット付きの完全日時でも、日付のみのYYYY-MM-DD(UTC真夜中)でもよく、単純な暦ペアでも使えます。計算機は両日がグレゴリオ暦上に実在することを検証し(うるう日はうるう年のみ)、先発的な民用算術で各入力をUTCエポックミリ秒に変換し、midpoint_epoch_msを両エポックの和を2で割った床に設定します。ミリ秒合計が奇数でも決定的な半ミリ秒の選択が1つ得られます。応答は監査のため元のstartとendをエコーし、midpointを小数3桁と末尾ZのUTC ISO文字列で返し、数値パイプライン向けにstart_epoch_ms・end_epoch_ms・midpoint_epoch_msを報告し、絶対距離のspan_msとendからstartを引いたsigned_span_msで方向も示します。短いformula欄が平均の定義を繰り返し、契約を答えの横に残せます。欠落したstart/end、非ISO-8601、2023-02-29のような存在しない日、不正な時刻成分、1〜9999年の範囲外は拒否されます。暦日数やカウントダウン部品、年月の年齢が必要なら専用ツールを使い、本ページは検証済み2タイムスタンプ間の正確な中間瞬間のみに答えます。

startとendの読み方と中点の再現性

第1フィールドはstartが推奨ですが、from・date1・a・beginの別名も受け付けるため、表計算・クエリ文字列・フォームは列名を変えずに同じ契約を再利用できます。第2フィールドはendで、to・date2・b・finishの別名があります。各文字列は前後の空白を取り除き、日付のみはUTC真夜中になります。日時は日付と時刻の間にTまたは空白を使え、小数秒は受け付けて平均前に整数ミリ秒へ切り捨て、サブミリ秒のノイズが別の中点を生まないようにします。+02:00や-05:00のようなオフセットは、ローカル民用エポックからオフセット分を引いてUTCへ変換するため、同じ絶対区間を指すニューヨークの夜とパリの朝でもUTC上で正しく平均されます。内部では各民用三つ組をよく知られたdays_from_civilでシリアル日数へ写像し、1日あたり86400000ミリ秒を掛け、時刻のミリ秒を足し、オフセットを調整します。Date・Math.random・ネットワークは使いません。中点は逆写像civil_from_daysで再整形し、印字されたUTC文字列がmidpoint_epoch_msと完全一致します。同一入力は同じ瞬間を中点にし、順序を入れ替えても中点と絶対幅は変わらずsigned_span_msの符号だけが反転します。各段階が決定的なので、このページの無料ブラウザ実行と有料API経路は同じモジュールでバイト一致し、連続する真夜中の中点として2024-01-01T12:00:00.000Zを固定するCIフィクスチャに適しています。

計画・科学・ソフトウェアでの中点日時演算の位置づけ

プロジェクト管理者は、ローンチ窓やスプリントが2つの明示タイムスタンプで定義され、関係者が曖昧な週半ばラベルではなく窓の中央のレビュー時刻を1つ欲しいときに中間チェックポイントを置きます。研究者や実験室システムは観測区間の中点を記録し、要約表がプロットや結合用に代表的な1瞬間を示し、開始や終了を恣意的に選ばないようにします。財務・運用チームは、台帳にISO瞬間のペアとして既に保存された期間の「真ん中」を方針が指すとき、請求や通知の窓を中央に合わせます。開発者はスクリプトから契約を呼び出し、スケジューラ用の決定的中点を生成し、レポートの中間フィールドを検証し、ホストのDateによるタイムゾーンずれのない純UTC平均という製品要件を満たします。教育者や規格執筆者は、1秒区間の中点が半秒であること、オフセット付き入力でもZ正規化の1回答に収束することを示すために使います。本ページでは作業はすべてブラウザ内で完結し、APIでは成功した照会ごとに$0.002、検証失敗は課金されず、応答後に保存しません。無料の対話探索と同一の有料APIという分割はKITティアAカタログの他項目と一致し、数学的結果を変えずに単発確認からパイプラインへ移行できます。関連する時間ステップにはdays-betweenやcountdown-between、エポック補助を組み合わせ、2つの日付の中点を正確な日時として探す検索意図にはこのページを使ってください。

プロジェクトとキャンペーンの中間マイルストーン

2つのISOタイムスタンプで定義されたスプリント・ローンチ・マーケ施策の、窓の中央レビュー時刻を正確に計算します。

観測・実験の中点

観測区間の代表UTC瞬間を1つ記録し、プロットや結合が開始や終了を恣意的に選ばないようにします。

決定的なCIと請求のフィクスチャ

Dateやホスト時計に依存せず、単体テスト・台帳中心・パイプライン向けに再現可能な中点値を生成します。

2つの日付の中点計算機の料金は?

このページではブラウザで無料です。APIでは成功リクエストが$0.002、無効入力は課金されません。

中点はどのように定義されますか?

両入力をUTCエポックミリ秒に変換します。midpoint_epoch_msはfloor((start_ms + end_ms) / 2)で、ミリ秒精度のUTC ISO-8601文字列に整形します。

タイムゾーンやオフセットは結果に影響しますか?

正しく影響します。各入力のオフセットは平均の前にUTCへ変換され、中点は常に末尾ZのUTCで返ります。

2つの日時が同じ、またはendがstartより前の場合は?

同一入力はその瞬間を中点として返します。endがstartより前でも中点は変わらず、signed_span_msだけが負になります。

日付のみの値は受け付けますか?

はい。YYYY-MM-DDは当該暦日のUTC真夜中として扱い、他の瞬間と同様に平均します。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/date/midpoint-between-dates

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/date/midpoint-between-dates \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"start":"2024-01-01T00:00:00Z","end":"2024-01-02T00:00:00Z"}'
{
  "start": "2024-01-01T00:00:00Z",
  "end": "2024-01-02T00:00:00Z"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.midpoint_between_dates",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

KITの完全なドキュメントを見る →