UNIX時間とは
UNIX時間(エポック秒)は、1970年1月1日 0時0分0秒(UTC)からの経過秒数で時刻を表す方式です。タイムゾーンに依存しない単一の数値で時刻を扱えるため、データベース、ログ、API、セッション管理など、システムの内部表現として広く使われています。
秒とミリ秒 — 10桁と13桁
| 環境 | 単位 | 桁数(現在) |
|---|---|---|
PHP time() / UNIX date +%s / MySQL UNIX_TIMESTAMP() | 秒 | 10桁 |
JavaScript Date.now() / Java System.currentTimeMillis() | ミリ秒 | 13桁 |
システム間連携でタイムスタンプが「1970年に近い日時」や「遠い未来」になる場合、たいていは秒とミリ秒の取り違えが原因です。1000倍・1/1000の変換を確認してください。
タイムゾーンの落とし穴
UNIX時間そのものはタイムゾーンを持ちませんが、日時文字列との変換時にどのタイムゾーンで解釈するかで9時間(JSTの場合)ずれます。データベースに保存された日時がUTCなのかJSTなのかの確認は、データ連携トラブルの定番チェックポイントです。このツールではJST/UTCを明示的に切り替えて変換できます。