Unixタイムスタンプと日付を相互変換
Unixタイムスタンプ(Unix timestamp)とは、1970年1月1日00:00:00 UTC(協定世界時)を基準として、そこから経過した秒数を表す数値です。エポック時刻(Epoch time)とも呼ばれ、プログラミングやシステム開発の現場で広く使われています。
例えば、1700000000というUnixタイムスタンプは、2023年11月14日22:13:20 UTCを意味します。この形式は、タイムゾーンに依存しない一意の時刻表現として、世界中のコンピュータシステムで採用されています。
このツールでは、以下の2つの変換が簡単に行えます。
また、現在のUnixタイムスタンプもリアルタイムで表示されるため、今この瞬間の時刻を数値で確認することができます。ローカル時刻(日本時間)とUTC時刻の両方を一度に確認できるのも便利なポイントです。
Unixタイムスタンプは、データベースのレコード作成日時の管理、APIのレスポンスデータ、ログファイルの時刻記録など、システム開発のあらゆる場面で活用されています。JavaScriptではDate.now()、Pythonではtime.time()、PHPではtime()などの関数でタイムスタンプを取得できます。
LinuxやmacOSなどのUnix系OSでは、ファイルの作成日時・更新日時をUnixタイムスタンプで管理しています。バックアップシステムでも、差分バックアップを行う際にタイムスタンプを比較することで変更されたファイルを特定します。
JWTトークン(JSON Web Token)の有効期限(expクレーム)もUnixタイムスタンプで表されます。APIキーやセッションの有効期限の確認にも、このツールが役立ちます。
日本標準時(JST:Japan Standard Time)は、協定世界時(UTC)より9時間進んでいます(UTC+9)。そのため、Unixタイムスタンプを日本時間に変換する場合は、UTCの時刻に9時間を加算する必要があります。
例えば、Unixタイムスタンプ1000000000は:
このツールでは、ブラウザのローカル設定を自動検出してローカル時刻(日本時間など)とUTC時刻の両方を表示するため、手動で計算する手間が省けます。
通常のUnixタイムスタンプは秒単位ですが、JavaScriptのDate.now()などはミリ秒単位のタイムスタンプを返します。ミリ秒タイムスタンプは秒タイムスタンプよりも1000倍大きな数値となるため、変換する際は注意が必要です。2024年時点では、ミリ秒タイムスタンプは13桁の数値です。
ミリ秒タイムスタンプを秒タイムスタンプに変換するには、単純に1000で割るだけです。このツールは両方の形式に対応しており、自動的に判別して変換を行います。
32ビットの符号付き整数でUnixタイムスタンプを保存しているシステムでは、2038年1月19日03:14:07 UTCを超えると数値がオーバーフローし、正しく動作しなくなる問題があります。これを「2038年問題」または「Y2K38問題」と呼びます。現代のシステムでは64ビット整数を使用することでこの問題を回避しています。
負のUnixタイムスタンプは、1970年1月1日00:00:00 UTCより前の日時を表します。例えば、-1は1969年12月31日23:59:59 UTCを意味します。歴史的なデータを扱う場合など、負のタイムスタンプが使われることがあります。
このツールはブラウザのJavaScriptを使用しているため、JavaScriptのDateオブジェクトが対応している範囲(およそ西暦271,821年まで)の変換が可能です。実用的な用途では問題ない十分な範囲をカバーしています。
はい、Unixタイムスタンプはほぼすべてのプログラミング言語でサポートされています。Python、JavaScript、PHP、Ruby、Java、Go、Rustなど、主要な言語には標準ライブラリにタイムスタンプを扱う関数が含まれています。言語によって秒単位かミリ秒単位かが異なる点に注意してください。
はい、Simple Calculatorのすべてのツールと同様に、このUnixタイムスタンプ変換ツールも完全無料でご利用いただけます。アカウント登録や会員登録も一切不要で、ブラウザから即座にご利用いただけます。