UNIXタイムスタンプ変換ツール
UNIX時間(タイムスタンプ)と日時を相互に変換。秒とミリ秒を自動判定し、JST・UTC・ISO 8601表記や曜日も表示します。
入力すると結果が表示されます
使い方
上の欄にUNIXタイムスタンプ(数字)を入力すると、桁数から秒かミリ秒かを自動判定し、JST・UTC・ISO 8601形式の日時と曜日に変換します。「日時 → UNIXタイムスタンプ」欄に日付と時刻を入力し、その時刻がどのタイムゾーンのものかを選ぶと、UNIX秒・ミリ秒を計算します。「現在時刻を入れる」ボタンを押すと、現在時刻が両方の欄に自動入力されます。
計算方法・根拠
UNIX時間とは、協定世界時(UTC)の1970年1月1日0時0分0秒を起点(エポック)とした経過秒数のことです。入力値の桁数が13桁以上であればミリ秒単位、それ未満であれば秒単位とみなして変換しています(2001年9月〜2286年頃の日時は秒表記で10桁になります)。日本標準時(JST)はUTC+9時間で、サマータイム(夏時間)はありません。日時からタイムスタンプへの変換は、選んだタイムゾーンでの時刻をUTCに換算してから求めています。主な言語での現在時刻の取得方法は、JavaScriptがDate.now()(ミリ秒)、Pythonがtime.time()(秒、小数含む)、Linuxのシェルがdate +%sコマンド(秒)です。
注意点
- UNIX時間の定義には「うるう秒」が含まれません。そのため実際に経過した秒数とは概ね数十秒程度のずれが生じることがあります。
- 32ビット符号付き整数でUNIX秒を扱う古いシステムでは、2038年1月19日3時14分7秒(UTC)以降を正しく扱えない、いわゆる「2038年問題」があります。現在主流の64ビット環境では基本的に影響しません。
- 桁数による秒・ミリ秒の自動判定はあくまで目安です。1970年前後の日時をミリ秒で入力すると桁数が少なくなり、秒と誤判定される場合があります。
よくある質問
Q. マイナスの値は入力できますか?
A. 入力できます。1970年1月1日より前の日時として、負のUNIX時間を計算します。
Q. 秒とミリ秒はどう見分ければよいですか?
A. 目安として10桁前後(〜2286年頃まで)は秒、13桁前後は現在時刻付近のミリ秒です。本ツールでは13桁以上をミリ秒として自動判定します。