ByteCompress

タイムスタンプコンバーター

Unixタイムスタンプ(Unixエポックからの秒またはミリ秒)を人間が読みやすい日付時刻文字列に変換し、日付をUnixタイムスタンプに戻します。UTCとローカルタイムゾーンをサポート。

0 chars
FreeClient-sideNo signup

Unix時間は1970年1月1日00:00:00 UTC - Unixエポックからカウントを開始しました。すべてのUnixタイムスタンプは、その瞬間から経過した秒数(または多くの現代システムではミリ秒)です。タイムスタンプは、タイムゾーンに依存せず、整数としてソート可能で、算術的に比較が容易なため、プログラミング、データベース、API全体で使用されます。1711843200を生の数値として読むだけでは何もわかりません。このコンバーターは、ISO 8601を使用してそれを2024-03-31T00:00:00.000Zに即座に変換します - 国際的な日付標準です。すべての変換は、あなたのブラウザ内でローカルに実行されます。

このツールの使い方

  1. タイムスタンプから日付へ: 秒またはミリ秒のUnixタイムスタンプを入力すると、ツールがUTCとあなたのローカルタイムゾーンの日付を表示します。
  2. 日付からタイムスタンプへ: 日付ピッカーを使用して日付と時刻を入力し、結果として得られるUnixタイムスタンプを秒とミリ秒でコピーします。
  3. 今すぐをクリックして、参照用の現在のタイムスタンプを入力します。
  4. フォーマットセレクターを使用して、日付を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。