瞬間、時計の表示、単位を区別する
Unix タイムスタンプは、1970-01-01 00:00:00 UTC の Unix エポックを基準とした秒数です。ISO 形式の日時は暦の各項目を明記し、ある瞬間を特定する場合は Z や +01:00 などのオフセットを含みます。タイムゾーンのない単なる時計の時刻からは、一意の瞬間を特定できません。タイムスタンプの単位も確認してください。ブラウザーや JavaScript の Date API はしばしばミリ秒を使い、同じ瞬間でも Unix 秒の1,000倍の数になります。MultiVerto の Unix ツールは秒を入力とし、ミリ秒を表す小数点以下3桁まで受け付けます。結果は末尾が Z の UTC で表示され、基準が明確になります。
二つの時刻表示で同じ新年を示す
埋め込み変換ツールに 1704067200 を入力すると、2024-01-01T00:00:00.000Z を表します。同じ瞬間は 2024-01-01T01:00:00+01:00 とも書けます。現地の時計は1時間進んでいるので、正の1時間のオフセットを引くと UTC の午前0時になります。このオフセット付きの値をリンク先の ISO→Unix ツールに貼り付けると 1704067200 が返ります。2024-01-01T01:00:00Z と書けば、ちょうど1時間後の別の瞬間です。暦部分の数字だけでは末尾の情報なしに判断できません。この組み合わせは、ログや API の連携に使える回帰テストです。
- Unix:1704067200 秒
- UTC:2024-01-01T00:00:00.000Z
- オフセット: 2024-01-01T01:00:00+01:00
秒とミリ秒を混同しない
API から現代の日付で13桁程度のエポック値が返されたら、仕様が秒ではなくミリ秒と定めているか確認してください。ただし、あらゆる日付について桁数だけで単位を決めてはいけません。ミリ秒を秒にするには、必要な小数部分を保って 1000 で割ります。例えば 1704067200500 ミリ秒は 1704067200.5 秒に対応し、例の日付では 00:00:00.500Z です。MultiVerto は小数点以下3桁まで受け付け、ミリ秒精度の ISO 出力を返します。マイクロ秒やナノ秒を記録するシステムでは、その精度に対応するツールで値を保ってから丸めてください。早すぎる丸めにより、近接した出来事が同時に見えてしまう場合があります。
UTC オフセットは地域の時差規則ではない
数値のオフセットは、そのタイムスタンプでの現地の時計と UTC の関係を示します。地域名や将来の夏時間規則までは表しません。特定の場所で毎回09:00に行う予定には、固定の +01:00 ではなく、実際のタイムゾーンデータベースが必要です。MultiVerto は ISO→Unix の入力に明示的なオフセットまたは Z を要求し、曖昧な現地時刻を防ぎます。受け付ける形式は暦日全体と秒までの時刻、小数点以下3桁以内です。無効な日付と、うるう秒を示す値 60 は拒否します。これは広い日時表記の中の意図的な一部なので、外部データを貼り付ける前に実際の入力仕様を確認してください。
逆変換で同じ瞬間に戻るか確かめる
元の時刻値を記録し、秒かミリ秒か、作成元が指定したタイムゾーンまたは UTC オフセットも確認します。タイムスタンプを UTC の ISO 形式へ換算し、その文字列を逆変換して元の秒数と比べてください。次に、同じ瞬間を別の明示的なオフセットで表した文字列も試します。結果がちょうど 3600 秒ずれるなら 1 時間のオフセット違い、1000 倍ずれるなら秒とミリ秒の取り違えを疑います。表示時刻を自分の時計に似せるために記録済みの瞬間を書き換えてはいけません。瞬間は曖昧さのない形式で保存し、利用者に示す段階で地域の時刻へ整形してください。