Unixタイムスタンプ変換
エポック時間を実際の日付に、また日付からエポック時間に変換します。
現在のUnixタイムスタンプ(秒)
ミリ秒単位
タイムスタンプ→日付
- ローカル時刻
- UTC
- ISO 8601
- 相対表示
日付→タイムスタンプ
- 秒
- ミリ秒
- ISO 8601
ブラウザ内で動作します。入力した内容はどこにも送信されません。
- 現在のタイムスタンプをリアルタイム表示
- 秒・ミリ秒・マイクロ秒に対応
- ローカル時刻・UTC・ISO 8601
Unixタイムスタンプの変換方法
- タイムスタンプを貼り付けます。桁数から単位が自動判定されます。
- ローカル時刻、UTC、ISO 8601、相対表示で日付を確認します。
- 逆方向に変換するには、日付と時刻を選んでタイムスタンプをコピーします。
桁数による単位の自動判定
| 整数部の桁数 | 判定される単位 |
|---|---|
| 11桁まで | 秒 |
| 12〜14桁 | ミリ秒 |
| 15〜17桁 | マイクロ秒 |
| 18桁以上 | ナノ秒 |
数値がちょうど境界上にある場合は、ドロップダウンから自分で単位を選んでください。
コードで現在のタイムスタンプを取得する
| 言語・ツール | コード |
|---|---|
| JavaScript | Math.floor(Date.now() / 1000) |
| Python | int(time.time()) |
| PHP | time() |
| Linux・macOSのターミナル | date +%s |
| PostgreSQL | EXTRACT(EPOCH FROM NOW()) |
Unix時間の挙動に関する注意点
- SI秒を数えていますが、定義上うるう秒は無視されるため、正確な太陽時を追うのではなく単純に増え続けるカウントのままです。
- 符号付き64ビット整数で保存するシステムでは、2038年問題は292,277,026,596年まで先送りされます。
- JavaScriptのDateオブジェクト自体は1970年の前後約27万3790年までしか扱えず、これは32ビットのオーバーフロー問題とは別の制限です。
Unixタイムスタンプ変換のFAQ
Unixタイムスタンプとは何ですか?
1970年1月1日00:00:00 UTC(Unixエポックと呼ばれる瞬間)からの経過秒数です。うるう秒は無視され、タイムゾーンにかかわらず世界中どこでも同じ数値になります。
秒とミリ秒はどう見分けますか?
桁数を数えます。現在の時刻は秒なら10桁、ミリ秒なら13桁になるため、1700000000と1700000000000は同じ瞬間を表します。JavaScriptのDate.now()はミリ秒を返しますが、多くのUnixツールは秒を使います。
2038年問題とは何ですか?
タイムスタンプを符号付き32ビットの数値で保存しているシステムは、2147483647(2038年1月19日03:14:07 UTC)で上限に達します。次の1秒で負の数に折り返り、1901年12月を指してしまいます。64ビットのタイムスタンプにはこの制限はありません。
コードで現在のタイムスタンプを取得するには?
JavaScriptならMath.floor(Date.now() / 1000)、Pythonならint(time.time())、PHPならtime()、LinuxやmacOSのターミナルならdate +%sを使います。
Unixタイムスタンプはマイナスになりますか?
はい。負の数は1970年から遡って数えるため、-86400は1969年12月31日00:00 UTCになります。このツールは負の数にも対応しています。
Unixタイムスタンプはタイムゾーンを考慮しますか?
いいえ。UTCのある一瞬からの秒数を数えているだけなので、同じ数値は世界中どこでも同じ瞬間を意味します。タイムゾーンが関係してくるのは、その数値を人が読めるローカルな日付に変換するときだけです。