UTCの日時を日本時間(JST)にする
日本時間(JST)
- ISO 8601(日本時間(JST))
- ISO 8601(UTC)
- UNIXタイムスタンプ(秒)
日本時間(JST)はUTC+9で、日本にサマータイムはありません。
日本時間(JST)の日時をUTCにする
UTC
- ISO 8601(UTC)
- ISO 8601(日本時間(JST))
- UNIXタイムスタンプ(秒)
日本時間(JST)はUTC+9で、日本にサマータイムはありません。
UNIXタイムスタンプ ⇄ 日時
現在のUNIXタイムスタンプ(秒)
UNIXタイムスタンプから日時へ
日本時間(JST)
- UTC
- ISO 8601(JST)
- ISO 8601(UTC)
- 単位
日時からUNIXタイムスタンプへ
- 秒
- ミリ秒
UNIXタイムスタンプは1970年1月1日 0:00:00(UTC)からの経過秒数です。うるう秒は数えません。
UNIXタイムスタンプ変換とは
UNIXタイムスタンプ(エポック秒、UNIX時間)は、1970年1月1日 0:00:00(UTC)からの経過秒数で時刻を表す数値です。ログ、API、データベースなどでよく使われますが、数字のままでは何日何時なのかがわかりません。このツールは、UNIXタイムスタンプをUTCと日本時間(JST)の日時に、日時をUNIXタイムスタンプ(秒・ミリ秒)に変換します。10桁前後の秒と13桁前後のミリ秒は自動で見分けます。計算はお使いのブラウザの中だけで行い、サーバーには送信されません。
使い方
- 「UNIXタイムスタンプから日時へ」の欄に数値を入れる(秒かミリ秒かは自動で判定します。「秒」「ミリ秒」で指定もできます)
- UTCと日本時間(JST)の日時、ISO 8601形式が表示されます
- 日時から調べたいときは「日時からUNIXタイムスタンプへ」に日付・時刻を入れ、日本時間かUTCかを選ぶ
- 現在のUNIXタイムスタンプは、いちばん上に1秒ごとに更新して表示しています
UNIXタイムスタンプの例
| UNIXタイムスタンプ(秒) | UTC | 日本時間(JST) |
|---|---|---|
| 0 | 1970-01-01 00:00:00 | 1970-01-01 09:00:00 |
| 1000000000 | 2001-09-09 01:46:40 | 2001-09-09 10:46:40 |
| 1700000000 | 2023-11-14 22:13:20 | 2023-11-15 07:13:20 |
| 1760313600 | 2025-10-13 00:00:00 | 2025-10-13 09:00:00 |
| 2147483647 | 2038-01-19 03:14:07 | 2038-01-19 12:14:07 |
2147483647 は、32ビット符号つき整数で表せる最大値です(2038年問題)。
桁数で見分ける単位
| 単位 | 桁数(今の時刻) | 例(2025-10-13 0:00 UTC) |
|---|---|---|
| 秒 | 10桁 | 1760313600 |
| ミリ秒(1/1000秒) | 13桁 | 1760313600000 |
| マイクロ秒(1/100万秒) | 16桁 | 1760313600000000 |
| ナノ秒(1/10億秒) | 19桁 | 1760313600000000000 |
JavaScript や Java はミリ秒、Python・PHP・シェルは秒、Go や一部のログはナノ秒で出てくることが多いです。マイクロ秒・ナノ秒は、末尾の6桁・9桁を外すと秒になります。
言語・ソフトごとの書き方
今のUNIXタイムスタンプ(秒)を取る書き方と、タイムスタンプ ts を日本時間の日時にする書き方です。
| 言語・ソフト | 今のタイムスタンプ(秒) | タイムスタンプ → 日本時間 |
|---|---|---|
| JavaScript | Math.floor(Date.now() / 1000) | new Date(ts * 1000).toLocaleString('ja-JP', { timeZone: 'Asia/Tokyo' }) |
| Python | int(time.time()) | datetime.fromtimestamp(ts, ZoneInfo('Asia/Tokyo')) |
| PHP | time() | (new DateTime('@' . $ts))->setTimezone(new DateTimeZone('Asia/Tokyo')) |
| Go | time.Now().Unix() | time.Unix(ts, 0).In(time.FixedZone("JST", 9*60*60)) |
| MySQL | UNIX_TIMESTAMP() | FROM_UNIXTIME(ts)(接続のタイムゾーンで表示) |
| PostgreSQL | extract(epoch from now()) | to_timestamp(ts) AT TIME ZONE 'Asia/Tokyo' |
| シェル(Linux) | date +%s | TZ=Asia/Tokyo date -d @1760313600 |
| シェル(macOS) | date +%s | TZ=Asia/Tokyo date -r 1760313600 |
| Excel・Googleスプレッドシート | — | =A1/86400+DATE(1970,1,1)+9/24 |
Excel とスプレッドシートは、セル A1 に秒のタイムスタンプが入っているときの式です。結果のセルの表示形式を「日付と時刻」にすると、日本時間の日時で見えます。+9/24 を外すとUTCになります。ミリ秒のときは 86400 を 86400000 にします。日時からタイムスタンプに戻すときは =(A1-DATE(1970,1,1)-9/24)*86400 です。
よくある質問
UNIXタイムスタンプとは何ですか?
1970年1月1日 0:00:00(UTC)を0として、そこからの経過秒数で時刻を表す数値です。UNIXエポック、エポック秒、UNIX時間とも呼ばれます。
秒とミリ秒はどう見分けますか?
現在の時刻なら、秒は10桁(例:1760313600)、ミリ秒は13桁(例:1760313600000)です。このツールは値の大きさから自動で判定し、「秒」「ミリ秒」のボタンで指定し直すこともできます。
JavaScriptやPythonで現在のUNIXタイムスタンプを取るには?
JavaScriptの Date.now() はミリ秒を返すので、秒にするには Math.floor(Date.now() / 1000) とします。Pythonでは int(time.time()) で秒が得られます。
ExcelでUNIXタイムスタンプを日本時間の日付にするには?
セル A1 に秒のタイムスタンプがあるとき、=A1/86400+DATE(1970,1,1)+9/24 と入れ、表示形式を日付と時刻にします。+9/24 は日本時間にするための9時間分です。ミリ秒のときは 86400 を 86400000 にします。
タイムゾーンによってUNIXタイムスタンプの値は変わりますか?
変わりません。UNIXタイムスタンプは世界共通の時点を表す数値で、日本時間でもUTCでも同じ値です。違うのは、それを日時として表示するときの見え方だけです。
2038年問題とは何ですか?
UNIXタイムスタンプを32ビット符号つき整数で持つシステムでは、2038年1月19日 3:14:07(UTC)に最大値 2147483647 を超えてしまい、正しく扱えなくなる問題です。64ビットで扱うシステムでは起きません。
うるう秒は数えますか?
数えません。UNIXタイムスタンプは1日を86,400秒として数えるため、うるう秒は含まれません。
入力した日時は送信されますか?
送信されません。変換はすべてお使いのブラウザ内で行い、入力した内容がサーバーに送られたり保存されたりすることはありません。
関連ツール
気に入ったら応援してください
このサイトは無料で運営しています。コーヒー1杯分の応援が励みになります。