Unixタイムスタンプと読める日時を理解する
この変換ツールでできること
Unixタイムスタンプは、Unixエポック(協定世界時 1970年1月1日の午前0時)からの経過秒数を数えた値です。単一の整数なので、ある瞬間を保存するにはコンパクトで曖昧さがない一方、そのままでは何時なのか読み取れません。このツールはその隔たりを双方向で埋めます。1700000000 のような値を貼り付ければ対応する日時が得られ、日時を入力すればそのタイムスタンプが得られます。入力の自動判別が数値か日時かを見分けるため、どちらであるかを指定する必要はほとんどありません。
入力中は詳細パネルに、判別された入力の種類、採用された単位、算出された瞬間が表示されるので、結果を鵜呑みにせず確認できます。
どんなときに使うか
タイムスタンプはソフトウェアのあらゆる場所に現れます。ログの行、データベースの列、JWTの有効期限(exp)、APIの応答、cronの記録などは、時刻をエポック整数として保存していることが多いものです。トークンがなぜ失効したのか、イベントが実際にいつ発生したのかを調べるとき、その整数を実際の日時に変換するのが最も手早く理解する方法です。
逆方向も同じくよくあります。APIが from/to クエリでタイムスタンプを求める場合や、テストで固定のエポック値が必要な場合は、読める日時を入力して整数をそのままコピーできます。
例:ある変換
1700000000 を例にとります。秒として解釈すると、これは協定世界時 2023年11月14日 22:13:20 です。タイムゾーンをソウル(KST)に切り替えると、同じ瞬間が 2023年11月15日 07:13:20 と表示されます。瞬間そのものは動かず、壁掛け時計上のラベルが変わるだけです。「現在時刻」をクリックすれば今のエポック値が挿入されるので、それを変換してツールとシステム時計が一致することを確認できます。
注意点とエッジケース
最も陥りやすい落とし穴は、秒とミリ秒の取り違えです。JavaScript の Date.now() や多くのWeb APIはミリ秒(現在は13桁)を返しますが、Unix系のツールやデータベースは通常は秒(10桁)を使います。単位を誤って読むと結果が約50年ずれるため、自動判別が曖昧なときは単位を明示的に指定してください。出力は、機械同士のやり取り向けの ISO 8601(2023-11-14T22:13:20Z)でも、読みやすいローカル形式でも表示できます。そしてタイムスタンプは協定世界時(UTC)を基準に固定されている点を忘れないでください。表示される日時は、数値の出どころではなく、選んだタイムゾーンによって決まります。