開発者ツール · Unix タイムスタンプ コンバータ
Z の意味: UTC、ISO のオフセットおよび指定子 8601 タイムスタンプ
· 仕組み
タイムスタンプ iso-8601 タイムゾーン
コンバーターと API はインスタントを ISO 8601 文字列として出力し、末尾の Z またはオフセットはスキップされる部分です。この投稿では、UTC とローカル出力を正しく読み取ることができるように、形式を部分的に説明します。
2 つの文字列、1 つの瞬間 — 10:00:00Z と 12:00:00+02:00 を並べて表示し、それらが 2 時間離れていると考える読者
`2025-02-03T10:00:00Z` および `2025-02-03T12:00:00+02:00` は 1 つのインスタントに名前を付けます。 2 番目の文字列は、2 時間先の壁時計を示し、それらの時間を減算するために必要なオフセットを提供します。時間フィールドのみを読み取ると、同時イベント間に架空のギャップが作成されます。
ToolAcre は両方の文字列を Date に渡し、エポック秒、エポックミリ秒、および正規の UTC ISO 文字列を返します。等しい数値結果が決定的な比較となります。最後の指示子が違いを説明する場合、時計の文字盤が変更されても、経過時間が変更されたことを意味するものではありません。
安全な比較手順は、まず各文字列をエポックミリ秒に正規化することです。これらの整数が一致する場合、見かけのクロックの差は経過時間ではなく表現されます。
ISO 8601 日時の構造 — 日付、T 区切り記号、時刻、秒の小数点以下およびゾーン指定子
ツールによって生成された ISO 値には、カレンダー日付、`T`、時、分、秒のフィールド、3 桁のミリ秒の小数部、および末尾の `Z` が含まれます。この正確な形状は `toISOString()` から来ています。 Date は指定された文字列を解析するため、入力処理はより広範囲になりますが、エラー メッセージでは `2024-03-01T09:30:00Z` などの明示的な値を推奨します。
セパレータを使用すると、各部分が読みやすくなります。端末指定子によって瞬時に決定されます。分数では、ゾーンを変更せずに 1 秒以内に位置を調整します。 API 出力を比較するときは、最終指定子を付加したままにしてください。時計を UTC にマッピングするために必要な情報が削除される前に、スクリーンショットを切り詰めます。
Zulu の Z — Z が UTC を意味する理由、軍用および航空のタイムゾーンに由来する理由、および指定子がないのと同じではない理由
この実装内では、`Z` が明示的ゾーンとして検出され、`toISOString()` はそれを UTC に使用します。このワークブックの軍事起源の説明はリポジトリに文書化されていないため、この記事では出典の歴史としてそれを繰り返しません。有効な事実はより限定的でテスト可能です。末尾の Z は現地時間の仮定を防ぎます。
No designator は、Z の別のスペルではありません。ToolAcre は、Z または数値オフセットが欠落している日時に対して `assumedLocal` を設定し、どのブラウザ ゾーンが解釈を提供したかをユーザーに伝えます。元のクロックがローカルであることを意味する場合は常に、欠落しているサフィックスを Z に置き換えると、意図した瞬間が変更されます。
このコンバータでは、Z は UTC 形式をマークします。 its naming history is outside repository evidence
`+02:00` などのサフィックスは、書き込まれた時計とその瞬間の UTC の差を記録します。都市を特定するものではありません。多くの地域がオフセットを共有でき、地域は別の日に別のオフセットを使用できます。 The string preserves the reading, not the political rules that produced it.
この制限は、定期的なスケジュールでは重要です。 API は `+02:00` を使用して過去の瞬間を忠実に報告できますが、サフィックスだけでは次の冬の 09:00 会議を計算できません。エポック変換には、指定されたオフセットのみが必要です。将来のウォールタイム スケジューリングには、このパネルの外側に名前付きゾーンとルール対応ロジックが必要です。
作業例: 1 つのエポック、2 つの読み取り値 - コンバーターが示す UTC 値とローカル値、およびそれらが同じ瞬間の名前であることの確認
この記事のチェックにはエポック 1,738,577,600 秒を使用します。コンバーターは `2025-02-03T10:00:00.000Z` をレンダリングします。 `2025-02-03T12:00:00+02:00` のソース文字列は、2 時間後の壁の読み取り値が正の 2 時間のオフセットによってバランスが取られているため、同じカウントに変換されます。
The browser-local row may display a third clock time.これでは 3 番目のイベントは作成されません。 it is another formatting pass over 1,738,577,600,000 milliseconds. Verify identity with seconds or ISO, then use each labelled clock only for the audience whose zone it represents.
この等価性は回帰フィクスチャになることもあります。つまり、両方のソース文字列を解析し、1 つのエポック値をアサートします。このテストは、ロケールに依存する表示文を固定することなく、オフセット演算を保護します。
欠落している指定子 — 裸の 2024-05-01T10:00:00 は曖昧であり、さまざまな言語がそれをどのように解釈するか
指定子の欠落のケースには 1 つの改良が必要です。 A bare date such as `2025-02-03` is read as UTC under the ECMAScript rule implemented and tested here. `2025-02-03T10:00:00` などの裸の日付/時刻はローカルとして読み取られ、フラグが設定されます。 Calling both simply “ambiguous” would contradict the code.
The practical safe form for an interchange instant still includes Z or an offset.パネルの `datetime-local` コントロールを介してローカル日付/時刻を入力する場合は、意図的に行うことができますが、結果として得られる ISO 文字列を共有する前にコピーしてください。 That conversion records which instant the current environment derived from the wall clock.
欠落している指定子は常に曖昧であるとは限りません。この実装では日付と日時を区別します。
ISO 8601 は、このコンバーターが示す以上の表記法をカバーしていますが、リポジトリは間隔、期間、または週の日付のパーサーやテストを提供しません。信頼できる文書化された例以外の文字列については、プラットフォームによって受け入れられる日付が異なる場合があります。 This article therefore avoids presenting the panel as a general ISO grammar validator.
API コントラクトで特殊な日付形式が許可されている場合は、その API のパーサーでそれを検証します。 ToolAcre の日付からエポックへのパスは、明示的な日付と時刻、およびそれが出力するローカル ピッカーの形状に適しています。 Date 解析が成功すると、このブラウザが文字列を受け入れたことが証明されますが、標準に準拠するすべてのコンシューマがその文字列を受け入れなければならないわけではありません。
期間、間隔、および週の日付は、ここで示されている受け入れ可能な入力の範囲外です。
クロック フィールドを比較する前に、タイムスタンプをサフィックスまで読み取ります。 Z は、書き込まれたクロックを UTC に固定します。数値オフセットは算術を UTC に戻します。ゾーンレス日時は、ブラウザーにローカル解釈を使用するように要求します。これらの語尾は、似たような接頭辞にもかかわらず、異なる質問に答えます。
コンバーターは、生成されたユニバーサル出力にラベルを付け、現地時間を想定した時刻を報告します。それらの通知は装飾ではなく、結果の一部として使用してください。指定子なしでコピーされた時間の値は不完全な証拠ですが、エポックまたは正規の ISO 行は、リーダー全体で瞬間をそのままの形で保持します。