コンテンツにスキップ

OpenClawのタイムゾーン設定:メッセージ時刻を正確に制御する

複数のプラットフォームをまたいで AI エージェントを開発していると、タイムゾーンの扱いに頭を悩ませることがよくあります。「このメッセージは UTC なのか、それともユーザーのローカル時間なのか?」といった混乱は、モデルの判断ミスにも繋がりかねません。

OpenClaw は、モデルが単一の基準時間を参照できるようにタイムゾーンを標準化します。これにより、開発者は複雑な時間計算に煩わされることなく、一貫した時間感覚をエージェントに持たせることができます。

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

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

Section titled “メッセージエンベロープ(デフォルトはローカル)”

受信メッセージは、以下のようなエンベロープでラップされます。

[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

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

Section titled “ツールペイロード(生のプロバイダーデータと正規化されたフィールド)”

ツール呼び出し(channels.discord.readMessages や channels.slack.readMessages など)は、プロバイダーから提供される生のタイムスタンプを返します。 また、一貫性を保つために以下の正規化されたフィールドも付与されます。

  • timestampMs (UTC エポックミリ秒)
  • timestampUtc (ISO 8601 形式の UTC 文字列)

プロバイダー固有の生のフィールドもそのまま保持されます。

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

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

agents.defaults.userTimezone を設定することで、ユーザーのローカルタイムゾーンをモデルに伝えることができます。これが未設定の場合、OpenClaw は実行時にホストのタイムゾーンを解決します(設定ファイルへの書き込みは行われません)。

{
agents: { defaults: { userTimezone: "America/Chicago" } },
}

システムプロンプトには以下の内容が含まれます。

  • ローカル時間とタイムゾーンを含む Current Date & Time セクション
  • Time format: 12-hour または 24-hour

プロンプトの形式は agents.defaults.timeFormat (auto | 12 | 24) で制御できます。

動作の詳細と例については、Date & Time を参照してください。

  • Heartbeat — アクティブ時間はスケジューリングにタイムゾーンを使用します
  • Cron Jobs — cron 式はスケジューリングにタイムゾーンを使用します
  • Date & Time — 日時に関する詳細な動作と例

設定についてさらに詳しく知りたい場合は、Gateway のドキュメントを確認するか、以下のリンクからアシスタントに質問してみてください。

AI Setup Assistant

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。