Unixタイムスタンプ変換ツール
Unix/Linuxタイムスタンプと日時を双方向で変換し、複数のタイムゾーンに基づいて比較できます。
現在の時間
タイムスタンプ → 日付
変換結果(自動)
日付 → タイムスタンプ
変換結果(自動)
複数タイムスタンプ日付時刻変換器
複数タイムスタンプ日付時刻変換器
複数日付タイムスタンプ変換器
複数日付タイムスタンプ変換器
使用方法
このツールは、さまざまなシナリオで Unix タイムスタンプと日付時間の双方向変換を迅速に完了するために使用されます。秒とミリ秒の精度をサポートし、目標タイムゾーンを選択して比較表示することができます。シングルカードとマルチカードの変換器が提供され、入力するとすぐに変換され、タイムゾーンを切り替えると結果が自動的に更新されます。同時に、最近の時間範囲とよく使われる時間間隔が組み込まれており、開発デバッグと日常の換算ニーズを満たします。
ツールの機能特長
- 入力するとすぐに変換され、秒/ミリ秒タイムスタンプの自動識別をサポートします。
- グローバルなタイムゾーンの選択と表示をサポート:ローカル、UTC、選択したタイムゾーンの3種類のビュー。
- 複数の変換器カードがあり、一括比較が容易です。
- レスポンシブなインターフェイスでキーボード操作にも優しく、良好なアクセシビリティを持ちます。
- 最近の時間範囲とよく使われる時間間隔が組み込まれており、コピーしてすぐに使えます。
タイムスタンプとは何ですか?
Unix タイムスタンプ(Unix Timestamp)は、1970年1月1日 00:00:00 UTC(Unix Epoch)以降に経過した総秒数またはミリ秒数です。
タイムスタンプは時間を表す数字で、通常は秒またはミリ秒を単位とします。
タイムスタンプの起点は 1970年1月1日 00:00:00 UTC で、この時間は Unix エポックと呼ばれます。
タイムスタンプは当初 Unix オペレーティングシステムで使用されたため、Unix タイムスタンプと呼ばれることが多いです。
タイムスタンプはプログラミングやネットワーク通信、特に Web 開発で広く使用されています。
一般的な精度:秒(例:1735689600)とミリ秒(例:1735689600000)。タイムゾーンに関連する日付時間を表す場合、タイムゾーンを合わせてフォーマット表示する必要があります。
よく使うタイムスタンプ(期間)
タイムスタンプの 2038 問題
2038 問題とは、32 ビットの符号付き整数型で Unix タイムスタンプ(1970 年 1 月 1 日 00:00:00 UTC からの秒数)を格納する場合、2038 年 1 月 19 日 03:14:07 以降にオーバーフローが発生する問題を指します。
32 ビットの符号付き整数型の範囲は -2,147,483,648 から 2,147,483,647 であり、2038 年 1 月 19 日 03:14:07 UTC のタイムスタンプは 2,147,483,647 です。したがって、この時点を超えると、32 ビットの符号付き整数型ではそれ以降のタイムスタンプを表すことができません。
影響を受けるのは、主に 32 ビットの time_t を使用する古いシステムやソフトウェアです。現代のシステムでは通常 64 ビット(例えばミリ秒単位の 64 ビット整数)を使用しており、この問題は発生しません。
64 ビットのタイムスタンプを使用するか、大きな日付範囲をサポートする時間ライブラリを使用することをお勧めします。
プログラミング言語でタイムスタンプを取得/変換する方法
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
import time
int(time.time()) # seconds
int(time.time() * 1000) # milliseconds
import datetime
datetime.datetime.utcfromtimestamp(1735689600).isoformat()
import datetime
int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
import "time"
time.Now().Unix() // seconds
time.Now().UnixMilli() // milliseconds
import "time"
time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
import "time"
ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
use chrono::Utc;
let now = Utc::now();
let sec = now.timestamp(); // seconds i64
let ms = now.timestamp_millis(); // milliseconds i128
use chrono::{DateTime, NaiveDateTime, Utc};
let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
.unwrap()
.and_utc();
let iso = dt.to_rfc3339();
use chrono::DateTime;
let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.timestamp();
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;
-- SQLite
SELECT strftime('%s', 'now');
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);
-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';
-- SQLite
SELECT datetime(1735689600, 'unixepoch');
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;
-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');