UNIX時間を日本時間に変換

いまの UNIX 時間(秒) 1793376329

ミリ秒では 1793376329438

UNIX 時間 1800000000(秒)は、日本時間で

2027年1月15日(金)17:00:00

Google カレンダーに入れる
UTC
2027-01-15 08:00:00
ISO 8601
2027-01-15T17:00:00+09:00
読み方
10桁なので秒として読みました
次の節目まで
18億秒まで あと76日・2027年1月15日(金)

UNIX 時間は、1970年1月1日 0:00(UTC)からの経過時間です。日本時間は UTC に 9 時間足した時刻で、うるう秒は数えません。12桁以上はミリ秒、11桁以下は秒として読みます。計算はこの端末の中だけで行い、入れた数字は送られません。

UNIX 時間の節目(日本時間)

UNIX 時間の節目の位置

10億秒2001/9/915億秒2017/7/1417億秒2023/11/1518億秒2027/1/1520億秒2033/5/182038年問題2038/1/19
節目の日付(日本時間)。線は日付の間隔に比例しています。

日本時間でいつにあたるかです。「今日から」は日本時間の今日からの日数で、日付が変わると数え直されます。上で入れた時間のすぐ後に来る節目には「入れた時間の次」と付きます。

UNIX 時間の節目(日本時間)
節目UNIX 時間日本時間今日から
10億秒10000000002001年9月9日(日)10:46:409,183日前
15億秒15000000002017年7月14日(金)11:40:003,396日前
17億秒17000000002023年11月15日(水)07:13:201,081日前
18億秒18000000002027年1月15日(金)17:00:00あと76日
20億秒(入れた時間の次)20000000002033年5月18日(水)12:33:20あと2391日
2^31−1(2038年問題)21474836472038年1月19日(火)12:14:07あと4098日

数え方と結果の読み方

計算の仕方

日本時間=UTC+9 時間。UNIX 時間(秒)=1970年1月1日 0:00(UTC)からの経過秒数。ミリ秒は 1000 倍の数

  • 入れた数字が 12 桁以上ならミリ秒、11 桁以下なら秒として読みます(ミリ秒は 1000 で割って秒にします)。
  • 秒に 9 時間(32,400 秒)を足して、日本時間の日付と時刻にします。
  • UTC の時刻は 9 時間足す前の値、ISO 8601 は日本時間に「+09:00」を付けた書き方です。
  • 日時から UNIX 時間へ戻すときは、日本時間から 9 時間を引いた UTC の時刻と 1970年1月1日 0:00(UTC)の差を、秒で数えます。

結果の読み方と使いどころ

図の線は、節目(10億秒から2038年問題まで)を日本時間の日付で並べています。次の節目は濃い色で、入れた時間の日付が節目と違う日なら「入れた時間」の点も置きます。今日と次の節目が近くて点が重なるときは、今日の点を省きます。

UNIX 時間は世界で共通の数で、日本時間はそれに 9 時間を足した表示です。UTC の 15:00 から 23:59 は、日本時間では次の日の 0:00 から 8:59 にあたるので、日付がずれることがあります。

2038年問題は、時刻を 32 ビットの符号つき整数で持つ古いシステムで、2^31−1(2147483647)秒を超えると数が負に折り返す問題です。日本時間では 2038年1月19日(火)12:14:07 にあたります。

秒・ミリ秒・マイクロ秒の桁の早見

同じ時刻でも、単位が 1000 倍ずつ変わると桁が 3 つずつ増えます。この道具は、12桁以上をミリ秒、11桁以下を秒として読みます。

秒・ミリ秒・マイクロ秒の桁の早見
単位桁2027年1月15日 17:00 の値使われる場所
秒(入れた数字はこれ)10桁1800000000date +%s・Python の time.time()・多くの API
ミリ秒13桁1800000000000JavaScript の Date.now()・Java・Kotlin
マイクロ秒16桁1800000000000000一部のログ・データベース(この道具では読み取りません)

よくある間違い

秒とミリ秒を取り違える

JavaScript の Date.now() や Java の System.currentTimeMillis() はミリ秒(13桁)、多くの Unix コマンドや Python の time.time() は秒(10桁)です。13桁の数を秒として読むと、何千年も先の日時になります。この道具は桁で判定し、どちらで読んだかを添え書きに出します。

UTC のままの時刻を日本時間と読む

UNIX 時間から出た時刻は UTC です。日本時間は 9 時間進んでいるので、UTC の 15:00 以降は日本では翌日の日付になります。

new Date(秒) に秒を渡す

JavaScript の Date は、ミリ秒を受け取ります。秒の数は 1000 を掛けてから渡さないと、1970年1月の日時になります。

負の数や 0 を誤りだと思う

0 は 1970年1月1日 0:00(UTC)=日本時間の 9:00 で、負の数はそれより前の日時です。この道具は日本時間の 1926年1月1日以降を扱います。

よくある質問

UNIX 時間が 1970年より前の日時になるのは、どんなときですか?

負の数を入れたときです。0 が 1970年1月1日 0:00(UTC)で、マイナス 86400 ならその 1 日前(1969年12月31日 0:00 UTC)です。この道具は日本時間の 1926年1月1日以降を扱います。

なぜ 2038年1月19日が節目なのですか?

時刻を 32 ビットの符号つき整数で持つと、2147483647 秒が上限だからです。この秒は UTC の 2038年1月19日 3:14:07、日本時間の 12:14:07 にあたり、超えると負の数に折り返します。

うるう秒は数えますか?

数えません。UNIX 時間は 1 日を必ず 86,400 秒として数える約束なので、うるう秒の日も同じ長さとして扱います。

入れた数字や日時はどこかに送られますか?

計算はこの端末のブラウザの中だけで行い、入れた数字は送られません。予定のファイルも端末の中で作ります。「Google カレンダーに入れる」を押したときだけ、次の節目の題と日付が Google に送られます。