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

タイムゾーン

OpenClawはタイムスタンプを標準化し、モデルが単一の基準時刻を見るようにします。

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

受信メッセージは、次のようなエンベロープでラップされます:
[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: "user"agents.defaults.userTimezoneを使用します(ホストタイムゾーンにフォールバックします)。
  • 固定オフセットには、明示的なIANAタイムゾーン(例: "Europe/Vienna")を使用してください。
  • envelopeTimestamp: "off"は、エンベロープヘッダーから絶対タイムスタンプを削除します。
  • envelopeElapsed: "off"は、経過時間のサフィックス(+2m形式)を削除します。

ローカル(デフォルト):
[Signal Alice +1555 2026-01-18 00:19 PST] hello
固定タイムゾーン:
[Signal Alice +1555 2026-01-18 06:19 GMT+1] hello
経過時間:
[Signal Alice +1555 +2m 2026-01-18T05:19Z] follow-up

ツールペイロード(生のプロバイダーデータ + 正規化フィールド)

ツール呼び出し(channels.discord.readMessageschannels.slack.readMessagesなど)は、生のプロバイダータイムスタンプを返します。 一貫性のために、正規化フィールドも追加されます:
  • timestampMs(UTCエポックミリ秒)
  • timestampUtc(ISO 8601 UTC文字列)
生のプロバイダーフィールドは保持されます。

システムプロンプト用のユーザータイムゾーン

agents.defaults.userTimezoneを設定すると、モデルにユーザーのローカルタイムゾーンを伝えられます。未設定の場合、OpenClawは実行時にホストタイムゾーンを解決します(設定は書き込みません)。
{
  agents: { defaults: { userTimezone: "America/Chicago" } },
}
システムプロンプトには次が含まれます:
  • ローカル時刻とタイムゾーンを含むCurrent Date & Timeセクション
  • Time format: 12-hourまたは24-hour
プロンプト形式はagents.defaults.timeFormatauto | 12 | 24)で制御できます。 完全な動作と例については、日付と時刻を参照してください。

関連

  • Heartbeat — アクティブ時間はスケジューリングにタイムゾーンを使用します
  • Cron Jobs — cron式はスケジューリングにタイムゾーンを使用します
  • 日付と時刻 — 日付/時刻の完全な動作と例