日時処理
OpenClaw のデフォルトは、トランスポートのタイムスタンプにはホストのローカル時刻、システムプロンプトにはユーザーのタイムゾーンを使用します。
プロバイダーのタイムスタンプはそのまま保持されるため、ツールは固有のセマンティクスを維持します(現在時刻は session_status で取得可能)。
メッセージエンベロープ(デフォルトはローカル時刻)
受信メッセージには分単位のタイムスタンプが付与されます。
[Provider ... 2026-01-05 16:26 PST] message text
このエンベロープのタイムスタンプは、プロバイダーのタイムゾーンに関係なく、デフォルトでホストのローカル時刻が使われます。
この挙動はオーバーライドできます。
{
agents: {
defaults: {
envelopeTimezone: "local", // "utc" | "local" | "user" | IANA タイムゾーン
envelopeTimestamp: "on", // "on" | "off"
envelopeElapsed: "on", // "on" | "off"
},
},
}
envelopeTimezone: "utc"— UTC を使用。envelopeTimezone: "local"— ホストのタイムゾーンを使用。envelopeTimezone: "user"—agents.defaults.userTimezoneを使用(未設定時はホストのタイムゾーンにフォールバック)。- 明示的な IANA タイムゾーン(例:
"America/Chicago")を指定すると、固定のタイムゾーンが使われます。 envelopeTimestamp: "off"— エンベロープヘッダーから絶対タイムスタンプを除去。envelopeElapsed: "off"— 経過時間のサフィックス(+2m形式)を除去。
例
ローカル(デフォルト):
[WhatsApp +1555 2026-01-18 00:19 PST] hello
ユーザータイムゾーン:
[WhatsApp +1555 2026-01-18 00:19 CST] hello
経過時間を有効にした場合:
[WhatsApp +1555 +30s 2026-01-18T05:19Z] follow-up
システムプロンプト: 現在の日時
ユーザーのタイムゾーンが判明している場合、システムプロンプトにはタイムゾーンのみを含む Current Date & Time セクションが挿入されます。プロンプトキャッシュの安定性を保つため、時刻や時刻形式は含みません。
Time zone: America/Chicago
エージェントが現在時刻を必要とする場合は session_status ツールを使います。ステータスカードにタイムスタンプ行が含まれています。
システムイベント行(デフォルトはローカル時刻)
エージェントコンテキストに挿入されるキューイングされたシステムイベントには、メッセージエンベロープと同じタイムゾーン設定(デフォルト: ホストローカル)のタイムスタンプが付与されます。
System: [2026-01-12 12:19:17 PST] Model switched.
ユーザータイムゾーンと形式の設定
{
agents: {
defaults: {
userTimezone: "America/Chicago",
timeFormat: "auto", // auto | 12 | 24
},
},
}
userTimezone— プロンプトコンテキストで使用するユーザーのローカルタイムゾーンを設定。timeFormat— プロンプトでの12時間/24時間表示を制御。autoは OS の設定に従います。
時刻形式の自動検出
timeFormat: "auto" の場合、OpenClaw は OS の設定(macOS/Windows)を参照し、取得できない場合はロケールのフォーマットにフォールバックします。検出結果はプロセスごとにキャッシュされ、システムコールの繰り返しを回避します。
ツールペイロードとコネクタ(プロバイダー生時刻 + 正規化フィールド)
チャネルツールはプロバイダーのネイティブタイムスタンプを返し、一貫性のために正規化フィールドを追加します。
timestampMs: エポックミリ秒(UTC)timestampUtc: ISO 8601 UTC 文字列
プロバイダーの生フィールドはそのまま保持されるため、情報は失われません。
- Slack: API からのエポック形式文字列
- Discord: UTC ISO タイムスタンプ
- Telegram/WhatsApp: プロバイダー固有の数値/ISO タイムスタンプ
ローカル時刻が必要な場合は、既知のタイムゾーンを使って下流で変換してください。