> ## Documentation Index
> Fetch the complete documentation index at: https://openclawdoc.org/llms.txt
> Use this file to discover all available pages before exploring further.

> エージェント、プロンプト、ツール、各チャネルで日付と時刻がどのタイムゾーンで扱われるかを整理します。

# 日付と時刻

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

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

受信メッセージは、分単位の精度を持つタイムスタンプでラップされます:

```
[Provider ... 2026-01-05 16:26 PST] メッセージ本文
```

このエンベロープのタイムスタンプは、プロバイダー側の設定に関わらず、**デフォルトでホストの現地時間**になります。

この挙動は以下のように上書き可能です:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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] モデルが切り替わりました。
```

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

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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 形式のプロバイダー固有タイムスタンプ

現地時間が必要な場合は、これらの値を元にダウンストリームで変換してください。

## 関連ドキュメント

* [システムプロンプト](/concepts/system-prompt)
* [タイムゾーン](/concepts/timezone)
* [メッセージ](/concepts/messages)
