Unix タイムスタンプ変換ツール

Unixタイムスタンプを人間が読める日付に変換、またはその逆

現在のUnixタイムスタンプ

1774458442

Wed, 25 Mar 2026 17:07:22 GMT

または

Unixタイムスタンプとは?

Unixタイムスタンプ(エポック時刻またはPOSIX時刻とも呼ばれる)は、1970年1月1日00:00:00 UTCから経過した秒数を表す整数です。この基準日をUnixエポックと呼びます。1秒が経過するごとにカウンターが1増加し、時間上のあらゆる瞬間を1つの整数で表現できます。Unixタイムスタンプ変換ツールは、この整数とISO 8601、RFC 2822、またはロケール固有の文字列など人間が読める日付形式の間を相互変換します。

Unixタイムスタンプは、コンピューティングにおける時間表現の標準方式です。データベースはcreated_atやupdated_atカラムを整数またはミリ秒タイムスタンプとして保存します。APIレスポンスには、キャッシュヘッダー(Expires、Last-Modified)、JWTクレーム(iat、exp、nbf)、イベントログのタイムスタンプが含まれます。nginx、syslog、アプリケーションフレームワークのログファイルもすべてエポック時刻を使用します。この形式はタイムゾーンや夏時間のオフセットが存在せず、常にUTCを表すため、誤解が生じません。

タイムスタンプと日付の手動変換はミスが発生しやすい作業です。1711324800のような値は、それが表す日付を視覚的に把握することができません。このツールはUnixタイムスタンプを読みやすい日付に変換し、その逆変換も行います。JWTのexpクレームの確認、データベースクエリのデバッグ、ログのタイムスタンプ確認など、あらゆる場面で10桁(秒)と13桁(ミリ秒)の値を自動判別します。

このタイムスタンプ変換ツールを使う理由

ログ、データベース、APIレスポンスから取得した生のUnixタイムスタンプを読むには、エポック計算を暗記するか、使い捨てのコードを書く必要があります。このツールはセットアップ不要でブラウザ上で変換を行います。JWTの有効期限の確認、ログ行の監査、データベースのTTL設定など、必要な結果がワンクリックで得られます。10桁の秒タイムスタンプか13桁のミリ秒タイムスタンプかを自動判別するため、手動で1000で割る必要はありません。すべての処理はブラウザ内でローカルに実行されます。データがデバイスの外に出ることはないため、社内システムや機密ログのタイムスタンプも安全に扱えます。

即時変換
タイムスタンプを入力するか日付を選択すると、結果が即座に表示されます。送信ボタンも再読み込みも不要。秒・ミリ秒の両方に対応しています。
🔒
プライバシー優先の処理
すべての変換はJavaScript組み込みのDateオブジェクトを使用してブラウザ内で実行されます。データがデバイスの外に出ることはないため、社内システムのタイムスタンプも安全に扱えます。
🔄
双方向変換
Unixタイムスタンプから日付へ、日付からタイムスタンプへの変換が可能です。どちらの方向でも値を入力すれば対応する出力が得られ、ツールを切り替える必要はありません。
🌐
複数の出力形式
UTC、ローカル時刻、ISO 8601、相対時刻を同時に表示します。各形式はワンクリックでコピーできます。

タイムスタンプ変換ツールの使用例

フロントエンド開発
REST APIレスポンスのタイムスタンプをデコードして、日付表示がタイムゾーンをまたいで正しく描画されるかを検証します。APIが秒とミリ秒のどちらを返しているかも確認できます。
バックエンドエンジニアリング
クエリのデバッグ時にデータベースのタイムスタンプを変換します。マイグレーションやタイムゾーン変更後に、created_at、updated_at、expires_atの値が期待通りの日付と一致しているかを確認します。
DevOpsとSRE
ログファイル、監視ダッシュボード(Grafana、Datadog)、アラートシステムのエポック値を変換して、インシデントの発生時刻やデプロイの完了時刻を特定します。
QAとテスト
テストフィクスチャ用の特定のタイムスタンプを生成します。トークン有効期限、キャッシュTTL、スケジュールジョブなど時間依存の機能が正確な瞬間にトリガーされるかを確認します。
データエンジニアリング
PostgreSQL、MySQL、データウェアハウスからの生データのエクスポートを検査する際にタイムスタンプカラムを変換します。ETLパイプラインがタイムゾーン情報を正しく保持しているかを確認します。
学習と教育
コンピュータが内部で時間をどのように表現しているかを理解します。Y2038問題、1970年以前の日付に対する負のタイムスタンプ、ミリ秒精度などのエッジケースを試せます。

Unixタイムスタンプ参照テーブル

以下の表に代表的なUnixタイムスタンプとその対応する日付を示します。これらの値は、クイックな確認テスト、テスト用データ、32ビットおよび64ビットタイムスタンプの範囲を把握するのに役立ちます。

タイムスタンプ日付 (UTC)備考
0Jan 1, 1970 00:00:00 UTCUnix epoch start
86400Jan 2, 1970 00:00:00 UTCExactly 1 day
946684800Jan 1, 2000 00:00:00 UTCY2K
1000000000Sep 9, 2001 01:46:40 UTC10-digit milestone
1234567890Feb 13, 2009 23:31:30 UTCAscending digits
1700000000Nov 14, 2023 22:13:20 UTCRecent 10-digit
2000000000May 18, 2033 03:33:20 UTCNext 10-digit milestone
2147483647Jan 19, 2038 03:14:07 UTCY2038 (signed 32-bit max)
4102444800Jan 1, 2100 00:00:00 UTCNext century

日付・時刻形式の比較

システムや標準によって、同じ瞬間を異なる文字列形式で表現します。以下の表は、API、ログ、データベースで頻繁に使用される主な形式を比較したものです。

形式備考
Unix (seconds)1711324800Integer, no timezone info
Unix (milliseconds)1711324800000Used by JavaScript Date.now()
ISO 86012024-03-25T00:00:00ZMachine-readable, includes timezone
RFC 2822Mon, 25 Mar 2024 00:00:00 +0000Email and HTTP headers
UTC stringMon, 25 Mar 2024 00:00:00 GMTDate.prototype.toUTCString()
Human readableMarch 25, 2024, 12:00:00 AMLocale-dependent, display only

コード例

使用している言語でUnixタイムスタンプと日付の変換を行う方法を示します。各例では両方向の変換(タイムスタンプから日付、日付からタイムスタンプ)を示しています。

JavaScript (browser / Node.js)
// Current Unix timestamp in seconds
Math.floor(Date.now() / 1000)  // → 1711324800

// Unix timestamp to Date object
const date = new Date(1711324800 * 1000)
date.toISOString()             // → "2024-03-25T00:00:00.000Z"
date.toUTCString()             // → "Mon, 25 Mar 2024 00:00:00 GMT"

// Date string to Unix timestamp
Math.floor(new Date('2024-03-25T00:00:00Z').getTime() / 1000)
// → 1711324800

// Millisecond timestamps (common in JS APIs)
Date.now()                     // → 1711324800000 (ms)
Date.parse('2024-03-25')       // → 1711324800000 (ms)
Python
import time
from datetime import datetime, timezone

# Current Unix timestamp
int(time.time())                                    # → 1711324800

# Unix timestamp to datetime
dt = datetime.fromtimestamp(1711324800, tz=timezone.utc)
dt.isoformat()                                      # → '2024-03-25T00:00:00+00:00'
dt.strftime('%Y-%m-%d %H:%M:%S %Z')                 # → '2024-03-25 00:00:00 UTC'

# Datetime string to Unix timestamp
dt = datetime.fromisoformat('2024-03-25T00:00:00+00:00')
int(dt.timestamp())                                  # → 1711324800

# Parse RFC 2822 dates (from email headers)
from email.utils import parsedate_to_datetime
parsedate_to_datetime('Mon, 25 Mar 2024 00:00:00 +0000').timestamp()
# → 1711324800.0
Go
package main

import (
    "fmt"
    "time"
)

func main() {
    // Current Unix timestamp
    now := time.Now().Unix() // → 1711324800

    // Unix timestamp to time.Time
    t := time.Unix(1711324800, 0).UTC()
    fmt.Println(t.Format(time.RFC3339))
    // → 2024-03-25T00:00:00Z

    // Parse a date string to Unix timestamp
    parsed, _ := time.Parse(time.RFC3339, "2024-03-25T00:00:00Z")
    fmt.Println(parsed.Unix())
    // → 1711324800

    // Millisecond timestamp
    ms := time.Now().UnixMilli() // → 1711324800000
    fmt.Println(now, ms)
}
CLI (date / bash)
# Current Unix timestamp
date +%s                                    # → 1711324800

# Convert timestamp to human-readable date (GNU date)
date -d @1711324800                         # → Mon Mar 25 00:00:00 UTC 2024

# Convert timestamp to ISO 8601
date -d @1711324800 --iso-8601=seconds      # → 2024-03-25T00:00:00+00:00

# macOS (BSD date) — slightly different flags
date -r 1711324800                          # → Mon Mar 25 00:00:00 UTC 2024

# Date string to timestamp (GNU date)
date -d "2024-03-25 00:00:00 UTC" +%s       # → 1711324800

よくある質問

秒のUnixタイムスタンプとミリ秒のUnixタイムスタンプの違いは何ですか?
秒のUnixタイムスタンプは10桁の整数です(2286年11月まで)。ミリ秒のタイムスタンプは13桁です。JavaScriptのDate.now()はミリ秒を返します。ほとんどのUnixコマンドラインツールとPythonのtime.time()は秒を返します。相互変換するには、秒に1000を掛けるか、ミリ秒を1000で割って切り捨てます。
2038年問題とは何ですか?
符号付き32ビット整数でUnixタイムスタンプを保存しているシステムは、2038年1月19日03:14:07 UTCにオーバーフローします。符号付き32ビット整数が保持できる最大値はエポックから2,147,483,647秒です。この値を超えると負の数に折り返し、システムは1901年12月の日付として解釈します。現代の64ビットシステムは64ビット整数を使用しているため影響を受けません。
JavaScriptでUnixタイムスタンプを日付に変換するには?
タイムスタンプに1000を掛けて(JavaScriptはミリ秒を使用するため)新しいDateオブジェクトを生成します:new Date(1711324800 * 1000)。次に.toISOString()、.toUTCString()、または.toLocaleString()を呼び出して必要な形式を取得します。逆変換には、Math.floor(new Date('2024-03-25').getTime() / 1000)を使用します。
Unixタイムスタンプで1970年以前の日付を表現できますか?
できます。Unixエポック(1970年1月1日)以前の日付は負の整数で表現されます。例えば、1969年12月31日23:59:59 UTCはタイムスタンプ-1です。ほとんどの現代プログラミング言語は負のタイムスタンプを正しく扱いますが、一部の古いシステムやデータベースはサポートしていない場合があります。
APIは日付文字列の代わりにUnixタイムスタンプを使用するのはなぜですか?
Unixタイムスタンプはタイムゾーンに依存せず、コンパクト(単一の整数 vs 25文字以上の文字列)で、比較が簡単です。整数による並べ替え、比較、期間計算は、日付文字列のパースより高速です。また、MM/DD/YYYYとDD/MM/YYYYのようなロケール依存の形式による曖昧さも排除できます。
コマンドラインから現在のUnixタイムスタンプを取得するには?
LinuxとmacOSでは、date +%sを実行すると秒単位の現在のタイムスタンプが表示されます。Windows PowerShellでは、[DateTimeOffset]::UtcNow.ToUnixTimeSeconds()を使用します。どちらもUnixエポックからの秒数を整数で返します。Linux上でミリ秒精度が必要な場合は、date +%s%3Nを使用するとミリ秒部分が直接付加されます。
タイムスタンプにおけるUTCとGMTの違いは何ですか?
コンピューティングの実用上、UTCとGMTは同じ時刻を指します。UTC(協定世界時)は原子時計に基づく現代の標準であり、GMT(グリニッジ標準時)はそれ以前の天文学的標準です。Unixタイムスタンプは常にUTCを基準としています。整形された日付文字列に両方のラベルが表示されることがありますが、基となる値は同一です。