UNIXタイムスタンプ変換ツール(無料・登録不要)
UNIXタイムスタンプと日時を双方向変換。秒・ミリ秒・マイクロ秒の3単位対応。JST/UTCタイムゾーン選択。現在のEpochタイムをリアルタイム表示。経過時間・残り時間を人間可読形式で表示。JavaScript/Python/PHP/MySQL/Go/Javaのコードスニペット付き。ブラウザ完結・無料・登録不要。
最終更新:2026年5月15日
- - - - タイムスタンプを入力して「変換」ボタンをクリックするか、Enterキーを押してください
入力した日時がどのタイムゾーンの時刻かを選択してください
日時を選択すると自動的に変換されます
コードスニペット
使い方ガイドとシーン別活用法
サーバーログやAPIレスポンスに含まれるUNIXタイムスタンプを人間が読める日時に変換できます。1700000000のような値が「いつ」なのかを瞬時に確認。ミリ秒タイムスタンプも自動判別します。
MySQLやPostgreSQLでUNIX_TIMESTAMP()やFROM_UNIXTIME()を使う場合、実際の日時との変換確認に活用できます。特定の日時をINSERTする際のタイムスタンプ値をすぐに算出できます。
REST API・JWTのexp(有効期限)・OAuth2のaccess_token有効期限など、Epoch時刻を扱うAPIのテストに活用できます。exp: 1700000000がいつ期限切れになるかを即確認。
特定の日時から現在まで何日経過したか、または特定の日時まであと何日かを簡単に把握できます。キャンペーン期間・契約期限・SLA計算などに便利です。
UNIXタイムスタンプはタイムゾーンに依存しない絶対時刻です。JST・UTCの同一タイムスタンプを各タイムゾーンで表示確認することで、グローバルシステムの時刻管理を正確に把握できます。
変換したタイムスタンプをそのまま各言語のコードスニペットとして取得できます。JavaScript・Python・PHP・MySQL・Go・Javaの実装例を確認して、そのままコピー&ペーストできます。
競合ツールとの機能比較
主要UNIXタイムスタンプ変換ツールとの機能比較(2026年5月調査)
| 機能 | tools-navi.jp (当ツール) |
epochconverter .com |
unixtimestamp .com |
unixtime .jp |
timestamp .online |
|---|---|---|---|---|---|
| 秒(10桁)対応 | ✅ | ✅ | ✅ | ✅ | ✅ |
| ミリ秒(13桁)対応 | ✅ | ✅ | ❌ | ❌ | ✅ |
| マイクロ秒(16桁)対応 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 単位自動判別 | ✅ | △ | ❌ | ❌ | △ |
| 日時 → UNIX変換 | ✅ | ✅ | ✅ | ✅ | ✅ |
| JST対応 | ✅ 完全 | △ 英語のみ | ❌ | ✅ | △ |
| タイムゾーン自由選択 | ✅ UTC±N | ✅ | ❌ | ❌ | ✅ |
| リアルタイム現在時刻 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 経過時間・残り時間表示 | ✅ | ✅ | ❌ | ❌ | ❌ |
| 出力フォーマット選択 | ✅ 4形式 | △ | ❌ | ❌ | △ |
| コードスニペット生成 | ✅ 6言語 | ✅ 一部 | ❌ | ❌ | ❌ |
| 日本語UI・解説 | ✅ 完全 | ❌ | ❌ | ✅ 簡易 | ❌ |
| ダークモード | ✅ | ❌ | ❌ | ❌ | ❌ |
※ 調査日: 2026年5月15日 / △は部分対応
UNIXタイムスタンプの基礎知識
UNIXタイムスタンプとは
UNIXタイムスタンプ(Unix時間・Epoch時間・POSIXタイム)は、1970年1月1日00:00:00 UTC(UTC Epoch)からの経過秒数を整数で表した時刻表現です。タイムゾーンに依存せず、世界中で同じ値になるため、システム間の時刻共有に広く使われています。
秒・ミリ秒・マイクロ秒の違い
最も一般的な形式。例: 1700000000(2023-11-14 22:13:20 JST)。Cのtime_t・Pythonのtime.time()・Unixコマンドのdateが返す値。
秒×1000。例: 1700000000000。JavaScriptのDate.now()・Java/KotlinのSystem.currentTimeMillis()が返す値。Web APIで最も一般的。
秒×1,000,000。例: 1700000000000000。Pythonのtime.time_ns()÷1000・高精度ログ・データベース内部クロックで使用。
2038年問題(Y2038問題)
32ビット符号付き整数でUNIXタイムスタンプを表現すると、2038年1月19日 03:14:07 UTC(= 231-1 = 2,147,483,647)でオーバーフローが発生します。Linuxカーネル5.6以降やほとんどのモダン言語では64ビット整数を使用しており、実用上は問題ありません(64ビットなら2920億年以上対応)。
Epoch基準日はなぜ1970年1月1日?
1970年1月1日はUNIXシステムが開発された時代の「キリの良い日付」として選ばれました。厳密には「UTC基準の1970年1月1日 00:00:00」(うるう秒を除く)。日本時間(JST = UTC+9)では「1970年1月1日 09:00:00」がEpoch 0に相当します。
主要言語での変換コードスニペット集+うるう秒の扱い
以下のコード例はすべて1700000000(UTC: 2023-11-14T22:13:20Z / JST: 2023-11-15 07:13:20)を基準値として統一しています。標準ライブラリのみで完結する書き方を掲載しています。
JavaScript
// 現在のUNIX時間(秒)
const nowSec = Math.floor(Date.now() / 1000);
// タイムスタンプ(秒)→ Dateオブジェクト
const date = new Date(1700000000 * 1000);
console.log(date.toISOString()); // "2023-11-14T22:13:20.000Z"
Python(3.9以降)
import time
from datetime import datetime, timezone
now_sec = int(time.time())
dt = datetime.fromtimestamp(1700000000, tz=timezone.utc)
print(dt.isoformat()) # "2023-11-14T22:13:20+00:00"
PHP
$nowSec = time();
echo gmdate('Y-m-d H:i:s', 1700000000); // "2023-11-14 22:13:20"(UTC固定で出力)
Java
long nowSec = Instant.now().getEpochSecond();
Instant instant = Instant.ofEpochSecond(1700000000L);
System.out.println(instant); // "2023-11-14T22:13:20Z"
Go
nowSec := time.Now().Unix()
t := time.Unix(1700000000, 0).UTC()
fmt.Println(t.Format(time.RFC3339)) // "2023-11-14T22:13:20Z"
SQL(PostgreSQL / MySQL)
-- PostgreSQL
SELECT to_timestamp(1700000000); -- 2023-11-14 22:13:20+00
SELECT extract(epoch FROM now())::bigint; -- 現在の秒タイムスタンプ
-- MySQL
SELECT FROM_UNIXTIME(1700000000); -- サーバーのtime_zone設定に依存した表示
SELECT UNIX_TIMESTAMP(); -- 現在の秒タイムスタンプ
うるう秒とUNIXタイムスタンプの関係
POSIX(IEEE 1003.1)の定義では、UNIXタイムスタンプはうるう秒を数えず1日を常に86,400秒として扱います。実際にはこれまで27回のうるう秒が挿入されていますが、UNIXタイムスタンプの計算上はそれらの秒を無視する仕様です。そのため「2つのタイムスタンプの差」を単純に秒数として扱うと、うるう秒挿入日をまたぐ場合にごくわずかな誤差(最大数秒)が生じ得ます。通常のアプリケーション開発では無視して問題ありませんが、精密な時刻同期が必要なシステムではNTPのうるう秒処理方式(smearingなど)を別途確認してください。
出典: The Open Group Base Specifications(POSIX.1-2017)General Concepts(2026-09-04確認)
よくある質問
- UNIXタイムスタンプとは何ですか?
- UNIXタイムスタンプ(Unix時間・Epoch時間)は、1970年1月1日 00:00:00 UTC(協定世界時)からの経過秒数を整数で表した時刻形式です。タイムゾーンに依存しないため、異なるシステム・国・タイムゾーン間での時刻共有に広く使われています。現在(2026年5月)は約1,747,000,000秒(約17.5億秒)です。
- 秒とミリ秒のタイムスタンプはどう見分けますか?
- 桁数で判別できます。秒形式は10桁(例: 1700000000)、ミリ秒形式は13桁(例: 1700000000000)、マイクロ秒形式は16桁(例: 1700000000000000)です。JavaScriptのDate.now()はミリ秒、PythonのDatetime・Linuxのdateコマンドは秒を返します。当ツールでは桁数から単位を自動判別します。
- UNIXタイムスタンプのJST変換はどうすればいいですか?
- JST(日本標準時)はUTC+9なので、UNIXタイムスタンプ(UTC基準)にJST換算で表示するには9時間(32,400秒)を加算します。例えばタイムスタンプ 0 はUTCで1970-01-01 00:00:00 ですが、JSTでは1970-01-01 09:00:00になります。当ツールではタイムゾーン選択でJSTを選ぶと自動変換されます。
- JavaScriptでUNIXタイムスタンプを取得・変換するには?
- 現在のタイムスタンプ(ミリ秒)はDate.now()で取得できます。秒にするには Math.floor(Date.now() / 1000) とします。タイムスタンプから日時への変換は new Date(timestamp * 1000) で可能です(秒の場合は1000を掛ける)。ISO形式出力は .toISOString()、日本語形式は .toLocaleString("ja-JP", {timeZone: "Asia/Tokyo"}) を使います。
- PythonでUNIXタイムスタンプを扱うには?
- import time で time.time() が現在の秒タイムスタンプ(float)を返します。from datetime import datetime, timezone を使い、datetime.fromtimestamp(ts, tz=timezone.utc) でUTCのdatetimeオブジェクトに変換できます。JST変換は zoneinfo モジュール(Python 3.9+)を使い ZoneInfo("Asia/Tokyo") を指定します。
- MySQLでUNIXタイムスタンプを扱うには?
- UNIX_TIMESTAMP() で現在のタイムスタンプ(秒)を取得できます。日時から変換するには UNIX_TIMESTAMP("2026-05-15 09:00:00")、逆にタイムスタンプから日時を得るには FROM_UNIXTIME(1700000000) を使います。MySQLのTIMESTAMP型カラムは内部的にUTC(秒)で保存され、クライアントの@@time_zoneに基づいて変換表示されます。
- 2038年問題とは何ですか?
- 2038年問題(Y2K38問題)とは、32ビット符号付き整数でUNIXタイムスタンプを保持するシステムが2038年1月19日 03:14:07 UTC(2,147,483,647秒)を超えると整数オーバーフローが発生し、誤動作する問題です。Linux kernelやほとんどの64ビットシステムは64ビット整数に移行済みですが、古い組込みシステムやレガシーDBでは注意が必要です。
- GoでUNIXタイムスタンプを扱うには?
- Goでは
timeパッケージ(pkg.go.dev/time)を使います。現在のタイムスタンプはtime.Now().Unix()(秒)またはtime.Now().UnixMilli()(ミリ秒)で取得できます。タイムスタンプから日時への変換はtime.Unix(ts, 0)です。