Skip to main content
OpenClaw は、トランスポート(通信路)のタイムスタンプにはホストの現地時間を、システムプロンプトにはユーザーのタイムゾーンをデフォルトで使用します。 プロバイダーから提供されるタイムスタンプはそのまま保持されるため、ツールはプラットフォーム独自のセマンティクスを維持できます(現在時刻は session_status ツールで確認可能です)。

メッセージエンベロープ (デフォルトは現地時間)

受信メッセージは、分単位の精度を持つタイムスタンプでラップされます:
[Provider ... 2026-01-05 16:26 PST] メッセージ本文
このエンベロープのタイムスタンプは、プロバイダー側の設定に関わらず、デフォルトでホストの現地時間になります。 この挙動は以下のように上書き可能です:
{
  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 タイムゾーン(例: "Asia/Tokyo")を指定して固定することも可能です。
  • envelopeTimestamp: "off": エンベロープヘッダーから絶対時刻を削除します。
  • envelopeElapsed: "off": +2m のような経過時間の表示を削除します。

表示例

現地時間 (デフォルト):
[WhatsApp +1555 2026-01-18 00:19 JST] こんにちは
ユーザータイムゾーン:
[WhatsApp +1555 2026-01-18 00:19 CST] こんにちは
経過時間有効:
[WhatsApp +1555 +30s 2026-01-18T05:19Z] 追記です

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

ユーザーのタイムゾーンが判明している場合、システムプロンプトには Current Date & Time セクションが含まれます。プロンプトキャッシュの効率を上げるため、ここには時刻そのものではなく タイムゾーン名のみ が記載されます:
Time zone: Asia/Tokyo
エージェント(モデル)が正確な現在時刻を必要とする場合は、session_status ツールを使用するよう指示されています。このツールのステータスカードには現在のタイムスタンプが含まれています。

システムイベント (デフォルトは現地時間)

エージェントのコンテキストに挿入されるシステムイベント(キューイングされたものなど)には、メッセージエンベロープと同じタイムゾーン設定(デフォルトはホストの現地時間)でタイムスタンプが付与されます。
System: [2026-01-12 12:19:17 JST] モデルが切り替わりました。

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

{
  agents: {
    defaults: {
      userTimezone: "Asia/Tokyo",
      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 形式のプロバイダー固有タイムスタンプ
現地時間が必要な場合は、これらの値を元にダウンストリームで変換してください。

関連ドキュメント