Unixタイムスタンプを変換する方法
- タイムスタンプ → 日時:タイムスタンプを貼り付けます。秒、ミリ秒、マイクロ秒、ナノ秒は桁数から自動的に判別され、日時がお使いのタイムゾーン、UTC、ISO 8601形式で表示されます。
- 日時 → タイムスタンプ:日付と時刻を選び、それがローカル時間かUTCかを選んで、秒またはミリ秒単位のタイムスタンプをコピーします。
Unix時間とは?
Unix時間(エポック時間、POSIX時間とも呼ばれます)は、1970年1月1日00:00:00 UTCからの経過秒数で、うるう秒は数えません。地球上のどこでも同じ1つの数値なので、データベース、サーバー、プログラミング言語、APIで、タイムゾーンの混乱なく時刻を保存するために使われています。
コードで現在のタイムスタンプを取得する
- JavaScript:
Math.floor(Date.now() / 1000) - Python:
int(time.time()) - PHP:
time() - Java:
Instant.now().getEpochSecond() - Linux/macOSのシェル:
date +%s - SQL(PostgreSQL):
EXTRACT(EPOCH FROM now())
よくある質問
2038年問題とは何ですか?
Unix時間を符号付き32ビット整数で保存するシステムは、2,147,483,647までしか数えられません。これは2038年1月19日03:14:07 UTCにあたり、それを過ぎると数値があふれてしまいます。最近のシステムは64ビットのタイムスタンプを使っており、こちらは何十億年ももちます。
タイムスタンプが13桁なのはなぜですか?
ミリ秒単位だからです。JavaScriptとJavaは標準でミリ秒を使います。1,000で割ると秒になります。