タイムスタンプコンバーター
Unixタイムスタンプ(Unixエポックからの秒またはミリ秒)を人間が読みやすい日付時刻文字列に変換し、日付をUnixタイムスタンプに戻します。UTCとローカルタイムゾーンをサポート。
Unix時間は1970年1月1日00:00:00 UTC - Unixエポックからカウントを開始しました。すべてのUnixタイムスタンプは、その瞬間から経過した秒数(または多くの現代システムではミリ秒)です。タイムスタンプは、タイムゾーンに依存せず、整数としてソート可能で、算術的に比較が容易なため、プログラミング、データベース、API全体で使用されます。1711843200を生の数値として読むだけでは何もわかりません。このコンバーターは、ISO 8601を使用してそれを2024-03-31T00:00:00.000Zに即座に変換します - 国際的な日付標準です。すべての変換は、あなたのブラウザ内でローカルに実行されます。
このツールの使い方
- タイムスタンプから日付へ: 秒またはミリ秒のUnixタイムスタンプを入力すると、ツールがUTCとあなたのローカルタイムゾーンの日付を表示します。
- 日付からタイムスタンプへ: 日付ピッカーを使用して日付と時刻を入力し、結果として得られるUnixタイムスタンプを秒とミリ秒でコピーします。
- 今すぐをクリックして、参照用の現在のタイムスタンプを入力します。
- フォーマットセレクターを使用して、日付をISO 8601、RFC 2822、または人間が読みやすい形式で表示します。
Unixタイムスタンプの理解
秒とミリ秒
広く使用されている2つの規約があります。2024年現在のUnix時間(10桁、例:1711843200)は、POSIX API、C/C++のtime()、Pythonのtime.time()、およびほとんどのサーバーサイドシステムで使用されます。ミリ秒単位のUnix時間(13桁、例:1711843200000)は、JavaScriptのDate.now()、JavaのSystem.currentTimeMillis()、および多くのWeb APIで使用されます。簡単なルール:10桁は秒、13桁はミリ秒を意味します。最大の有効な32ビット符号付き整数タイムスタンプは2147483647(秒)で、2038年1月19日に対応します - これはレガシーシステムの2038年問題です。
ISO 8601形式
ISO 8601は、日付と時刻の表現に関する国際標準です。完全なUTC形式はYYYY-MM-DDTHH:mm:ss.sssZで、Tが日付と時刻を区切り、ZがUTC(Zulu時間)を示します。ISO 8601は、APIレスポンスやデータ交換に推奨される形式で、あいまいさがなく、辞書順にソート可能(文字列の順序が時間の順序と一致)で、主要なプログラミング言語で解析可能です。
例
タイムスタンプから日付へ
入力(秒): 1711843200
UTC日付(ISO 8601): 2024-03-31T00:00:00.000Z
RFC 2822: Sun, 31 Mar 2024 00:00:00 +0000
人間が読みやすい(UTC): 2024年3月31日(日曜日)午前12時00分00秒UTC
日付からタイムスタンプへ
入力: 2024-03-31 00:00:00 UTC
Unix(秒): 1711843200
Unix(ミリ秒): 1711843200000
一般的なタイムスタンプ形式
- Unix秒(POSIX):
1711843200- 10桁、C、Python、Go、ほとんどのシステムAPIで使用 - Unixミリ秒:
1711843200000- 13桁、JavaScript、Java、多くのREST APIで使用 - ISO 8601 UTC:
2024-03-31T00:00:00Z- APIレスポンスやデータストレージに推奨 - オフセット付きISO 8601:
2024-03-31T03:00:00+03:00- あいまいさのないローカル時間のためのタイムゾーンオフセットを含む - RFC 2822:
Sun, 31 Mar 2024 00:00:00 +0000- メールヘッダーやHTTPのDateヘッダーで使用 - Unixエポック参照:
0=1970-01-01T00:00:00Z
ベストプラクティス
- データベースにタイムスタンプをUTCで保存 - 表示層でのみローカル時間に変換
- APIレスポンスにはISO 8601を使用 - あいまいさがなく、すべての言語で解析可能
- 新しいシステムでは、秒よりもミリ秒を優先して、サブ秒精度の浮動小数点演算を避ける
- 2038年のオーバーフロー問題を避けるために、32ビットのタイムスタンプストレージを64ビットに移行
埋め込まれたタイムスタンプを持つユニークな識別子には、UUID v7(RFC 9562)がUnixミリ秒タイムスタンプとランダムビットを組み合わせて、ソート可能でユニークなIDを生成します - ソート順が必要ない場合は、UUID Generatorを使用してUUID v4を生成します。タイムスタンプを含むJSONレスポンスのデバッグには、JSON Formatterを使用してネストされたタイムスタンプフィールドを読みやすくします。
よくある質問
Unixタイムスタンプとは何ですか?
Unixタイムスタンプは、Unixエポック - 1970年1月1日00:00:00 UTCから経過した秒数を表します。うるう秒は含まれません。タイムゾーンに依存せず、単純な整数で、比較やソートが容易です。Unixタイムスタンプは、オペレーティングシステム、データベース、プログラミング言語における時間の普遍的な内部表現です。
タイムスタンプが秒かミリ秒かをどうやって判断しますか?
桁数を数えます。2024年現在、秒単位のUnixタイムスタンプは10桁です(例:1700000000)。ミリ秒単位のタイムスタンプは13桁です(例:1700000000000)。約100億未満の数値は、秒である可能性が高いです。ナノ秒精度のタイムスタンプ(いくつかの高頻度システムで使用)は19桁です。
2038年問題とは何ですか?
32ビット符号付き整数としてUnixタイムスタンプを保存するシステムは、2,147,483,647までの値しか表現できません。その最大値は、2038年1月19日03:14:07 UTCに対応します。その後に1秒を加えると、整数オーバーフローが発生し、大きな負の数になります。これにより、日付計算が破損します。現代の64ビットシステムは、約2920億年まで安全です。
コンバーターは私のローカルタイムゾーンを使用しますか?
はい。このツールはUTCとあなたのローカル時間の両方を表示します。ローカル時間は、ブラウザのタイムゾーン設定によって決まり、オペレーティングシステムの設定されたタイムゾーンを反映します。システムクロックが誤設定されている場合や旅行中の場合、ローカル時間の表示はその設定を反映します。
コードで現在のUnixタイムスタンプを取得するにはどうすればよいですか?
JavaScript: Math.floor(Date.now() / 1000)(秒用)またはDate.now()(ミリ秒用)。Python: import time; int(time.time())。Go: time.Now().Unix()(秒用)、time.Now().UnixMilli()(ミリ秒用)。PostgreSQL: EXTRACT(EPOCH FROM NOW())。Bash: date +%s。