UNIX時間と日時の相互変換
UNIX時間(1970年1月1日0時0分0秒からの経過秒数)と、ふだんの日時をお互いに変換します。秒とミリ秒の両方に対応し、タイムゾーン(時差)を指定できます。
くわしい条件を変える(なくても計算できます)
計算方法
UNIX時間(秒)= 1970年1月1日0時0分0秒(UTC)からの経過秒数。ミリ秒の値は、これを1000倍した数です。
タイムゾーンをずらすときは、UTCの時刻に「UTCとの差」の時間を足し引きして、その場所の日時を求めます(日本はUTC+9)。
例:UNIX時間0は、UTCで1970年1月1日0時0分0秒、日本時間(UTC+9)では1970年1月1日9時0分0秒です。
式の意味を説明します。UNIX時間は、1970年1月1日0時0分0秒(UTC)を0として、そこから経過した秒数を数えた1本の数直線です。日付と時刻という2つの単位を使わず数だけで表せるので、計算機の中で扱いやすくなります。1日を必ず86,400秒として数えるため、うるう秒は数えません。
例:UNIX時間1,790,218,800秒は、日本時間(UTC+9)で2026年9月24日12時0分0秒です。UNIX時間0は、日本時間で1970年1月1日9時0分0秒になります。
気をつけること。ミリ秒で扱う環境もあり、秒の値とは1000倍の違いがあります。タイムゾーンは時刻の表示を変えるだけで、UNIX時間そのものは世界のどこでも同じ値です。夏時間がある地域では、UTCとの差が季節で変わります。うるう秒を数えないため、実際の天文時とはわずかにずれます。
出典:UNIX時間(POSIX時間、1970年1月1日0時0分0秒UTCからの経過秒数。うるう秒を数えない)の定義
よくある質問
UNIX時間とは?
コンピューターで日時を扱うときによく使われる、1970年1月1日0時0分0秒(UTC)からの経過秒数です。エポック秒とも呼ばれます。
秒とミリ秒はどう見分ける?
桁数で見分けられます。2026年ごろの日時は、秒なら10桁、ミリ秒なら13桁になります。
うるう秒は考えなくていい?
はい。UNIX時間の仕組みそのものが、うるう秒を数えない決まりになっています。うるう秒が挿入された日をまたぐ厳密な時刻の計算が必要な場合は、別の方法で扱う必要があります。