メインコンテンツへスキップ
OpenClaw は transport タイムスタンプにホストローカル時刻を使用し、システムプロンプトには タイムゾーンのみを入れます。 プロバイダーのタイムスタンプは保持されるため、ツールはネイティブのセマンティクスを維持します。エージェントが現在時刻を必要とする場合は、 session_status ツールを実行します。

メッセージエンベロープ(デフォルトでローカル)

受信メッセージは、曜日と秒精度のタイムスタンプ付きでラップされます。
[WhatsApp +1555 Mon 2026-01-05 16:26:34 PST] message text
エンベロープのタイムスタンプは、プロバイダーのタイムゾーンに関係なく、デフォルトでホストローカルです。 agents.defaults の下で上書きします。
{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
      envelopeTimestamp: "on", // "on" | "off"
      envelopeElapsed: "on", // "on" | "off"
    },
  },
}
キー動作
envelopeTimezonelocal(デフォルト)、utcuser、明示的な IANA 名useragents.defaults.userTimezone を使用します(未設定の場合はホストのタイムゾーン)。明示的な IANA 名(例: "America/Chicago")は固定ゾーンに固定されます。認識されない名前は UTC にフォールバックします。
envelopeTimestampon(デフォルト)、offoff は、エンベロープヘッダー、直接のエージェントプロンプト接頭辞、埋め込みモデル入力接頭辞から絶対タイムスタンプを削除します。
envelopeElapsedon(デフォルト)、offoff は、セッション内の前のメッセージ以降に表示される経過時間サフィックス(+30s / +2m スタイル)を削除します。

ローカル(デフォルト):
[WhatsApp +1555 Sun 2026-01-18 00:19:42 PST] hello
ユーザーのタイムゾーン:
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] hello
envelopeTimezone: "utc" での経過時間:
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] follow-up

システムプロンプト: 現在の日付と時刻

システムプロンプトには、プロンプトキャッシュを安定させるため、タイムゾーンのみを含む 現在の日付と時刻セクションが含まれます(時計や時刻形式は含みません)。
Time zone: America/Chicago
ゾーンは、設定されている場合は agents.defaults.userTimezone、それ以外の場合はホストのタイムゾーンです。 プロンプトはまた、現在の日付、時刻、曜日が必要な場合は常に session_status ツールを実行するよう エージェントに指示します。

システムイベント行(デフォルトでローカル)

エージェントコンテキストに挿入されるキュー済みシステムイベントには、メッセージエンベロープと同じ envelopeTimezone の選択(デフォルト: ホストローカル)を使用したタイムスタンプが接頭辞として付与されます。
System: [2026-01-12 12:19:17 PST] Model switched.

ユーザーのタイムゾーンと形式を設定する

{
  agents: {
    defaults: {
      userTimezone: "America/Chicago",
      timeFormat: "auto", // auto | 12 | 24
    },
  },
}
  • userTimezone は、プロンプトコンテキスト用(および envelopeTimezone: "user" 用)のユーザーローカルタイムゾーンを設定します。
  • timeFormat は、プロンプトに表示される時刻の 12時間/24時間表示を制御します。auto は OS の設定に従います。

時刻形式の検出(auto)

timeFormat: "auto" の場合、OpenClaw は OS の設定(macOS と Windows)を検査し、 ロケール形式にフォールバックします。検出された値は、繰り返しのシステムコールを避けるため、 プロセスごとにキャッシュされます。

ツールペイロード + コネクター(生のプロバイダー時刻 + 正規化フィールド)

チャンネルツールは プロバイダーネイティブのタイムスタンプを返し、一貫性のために正規化フィールドを追加します。
  • timestampMs: エポックミリ秒(UTC)
  • timestampUtc: ISO 8601 UTC 文字列
生のプロバイダーフィールドは、何も失われないように保持されます。
  • Discord: UTC ISO タイムスタンプ
  • Slack: API からのエポック風文字列
  • Telegram/WhatsApp: プロバイダー固有の数値/ISO タイムスタンプ
ローカル時刻が必要な場合は、既知のタイムゾーンを使用して下流で変換してください。

関連ドキュメント