メインコンテンツへスキップ

日付と時刻

OpenClawのデフォルトは、転送用タイムスタンプにはホストのローカル時刻を使用し、ユーザータイムゾーンはシステムプロンプト内でのみ使用します。 プロバイダーのタイムスタンプは保持されるため、ツールはネイティブの意味論を維持します(現在時刻はsession_statusで利用できます)。

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

受信メッセージは、タイムスタンプ付きでラップされます(分単位の精度):
[Provider ... 2026-01-05 16:26 PST] message text
このエンベロープタイムスタンプは、プロバイダーのタイムゾーンに関係なく、デフォルトではホストのローカル時刻です。 この動作は上書きできます:
{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
      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

ユーザータイムゾーンがわかっている場合、システムプロンプトには、プロンプトキャッシュを安定させるために、時刻や時刻形式を含まないタイムゾーンのみの専用の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設定に従います。

時刻形式の検出(auto)

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

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

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

関連ドキュメント