本文へスキップ
ToolDesk

タイムスタンプ変換

Unix タイムスタンプ(秒/ミリ秒)と日時を相互変換。UTC・ローカル時刻を同時表示。

開発

このツールについて

Unix タイムスタンプは、協定世界時(UTC)の 1970 年 1 月 1 日 0 時 0 分 0 秒からの経過秒数で時刻を表す方式です。タイムゾーンに依存しない 1 つの数値なので、システム間で時刻を受け渡すときの共通語として使われます。このツールは数値と日時をブラウザ内で相互変換し、入力を外部へ送信しません。

秒とミリ秒(桁数の違い)

同じ「今」でも、秒で表すと 10 桁前後、ミリ秒で表すと 13 桁前後になります。JavaScript は内部でミリ秒、UNIX 系のコマンドやデータベースは秒で扱うことが多く、両者を取り違えると 1000 倍ずれて「1970 年」や「はるか未来」になってしまいます。桁数を手がかりに単位を確かめてください。

2038 年問題

タイムスタンプを 32 ビットの符号付き整数で持つ古いシステムは、2038 年 1 月 19 日 03:14:07 UTC を超えると値があふれて時刻が壊れます。これが「2038 年問題」です。現在は 64 ビットで持つのが一般的で、このツールも桁あふれの心配なく扱えますが、C 言語の time_t など古い実装に触れるときは意識しておくと安全です。

うるう秒は数えない

Unix 時間は「1 日 = 86400 秒」と固定して計算し、実際の UTC に時々挿入されるうるう秒はカウントしません。そのため厳密には UTC と少しだけ定義が違いますが、日常のログや API のやり取りでは実用上一致していると考えて差し支えありません。

保存は UTC、表示でローカル

時刻はタイムスタンプ(UTC 基準の数値)で保存し、画面に出すときだけ利用者のタイムゾーンへ直すのが定石です。人が読む形で残すなら 2024-01-01T09:00:00+09:00 のような ISO 8601 表記が誤解が少なく、このツールでも ISO 8601 の文字列を得られます。

使い方

  1. 「タイムスタンプ → 日時」で Unix 秒/ミリ秒を入力すると日時に変換します。
  2. 「日時 → タイムスタンプ」で ISO などの日時文字列を入力すると Unix 値に変換します。
  3. 「現在時刻」で今のタイムスタンプを取得できます。

よくある質問

秒とミリ秒はどう区別されますか?

入力された数値の桁数から自動で判定します。おおむね 13 桁以上の大きな値はミリ秒、それより小さい値は秒として扱い、日時に変換します。

Unix タイムスタンプとは何ですか?

協定世界時(UTC)の 1970 年 1 月 1 日 0 時 0 分 0 秒からの経過時間で時刻を表す方式です。タイムゾーンに依存しない絶対値のため、システム間の時刻のやり取りに広く使われます。

UTC とローカル時刻の両方が見られますか?

はい。変換結果は UTC とお使いの端末のタイムゾーンによるローカル時刻の両方で表示されるため、環境差による勘違いを防げます。

日時から Unix タイムスタンプを求められますか?

はい。日時を入力すると、対応する Unix タイムスタンプ(秒・ミリ秒)を得られます。相互変換に対応しています。

入力した値はサーバーに送られますか?

いいえ。変換はすべてブラウザ内で行われ、入力した値が外部に送信されることはありません。

別のタイムゾーンの時刻を確認したいのですが?

ローカル時刻の表示はお使いの端末の設定にもとづきます。特定の別タイムゾーンで確認したい場合は、タイムゾーン変換ツールと併用すると分かりやすくなります。