---
read_when:
    - モデルまたはユーザーにタイムスタンプを表示する方法を変更している場合
    - メッセージまたはシステムプロンプトの出力における時刻形式をデバッグしている場合
summary: エンベロープ、プロンプト、ツール、コネクタ全体での日付と時刻の処理
title: 日付と時刻
x-i18n:
    generated_at: "2026-07-26T10:12:57Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: e6f923022c021c1cf18ba306cd7b9a4873f5df947bb9a8fae9c737a89f64cbf2
    source_path: date-time.md
    workflow: 16
---

OpenClaw は、**トランスポートのタイムスタンプにホストのローカル時刻**を使用し、システムプロンプトには**タイムゾーンのみ**を含めます。
プロバイダーのタイムスタンプは保持されるため、ツールはネイティブのセマンティクスを維持します。エージェントが現在時刻を必要とする場合は、
`session_status` ツールを実行します。

## メッセージエンベロープ（デフォルトではローカル）

受信メッセージは、曜日と秒精度のタイムスタンプでラップされます。

```
[WhatsApp +1555 Mon 2026-01-05 16:26:34 PST] メッセージテキスト
```

エンベロープのタイムスタンプは、プロバイダーのタイムゾーンに関係なく、**デフォルトではホストのローカル時刻**です。
`agents.defaults` で上書きできます。

```json5
{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
      envelopeTimestamp: "on", // "on" | "off"
      envelopeElapsed: "on", // "on" | "off"
    },
  },
}
```

| キー                 | 値                                               | 動作                                                                                                                                                                        |
| ------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `envelopeTimezone`  | `local`（デフォルト）、`utc`、`user`、明示的な IANA 名 | `user` は `agents.defaults.userTimezone` を使用します（未設定時はホストのタイムゾーン）。明示的な IANA 名（例: `"America/Chicago"`）を指定すると固定タイムゾーンに設定されます。認識されない名前は UTC にフォールバックします。 |
| `envelopeTimestamp` | `on`（デフォルト）、`off`                                | `off` は、エンベロープヘッダー、エージェントへの直接プロンプトのプレフィックス、埋め込まれたモデル入力のプレフィックスから絶対タイムスタンプを削除します。                                                       |
| `envelopeElapsed`   | `on`（デフォルト）、`off`                                | `off` は、セッション内の前のメッセージからの経過時間を示すサフィックス（`+30s` / `+2m` 形式）を削除します。                                                               |

### 例

**ローカル（デフォルト）:**

```
[WhatsApp +1555 Sun 2026-01-18 00:19:42 PST] こんにちは
```

**ユーザーのタイムゾーン:**

```
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] こんにちは
```

**`envelopeTimezone: "utc"` を使用した経過時間:**

```
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] フォローアップ
```

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

プロンプトキャッシュを安定させるため、システムプロンプトには**タイムゾーンのみ**を含む
**現在の日付と時刻**セクションが含まれます（時計や時刻形式は含まれません）。

```
タイムゾーン: America/Chicago
```

設定されている場合、タイムゾーンは `agents.defaults.userTimezone` です。それ以外の場合はホストのタイムゾーンです。
またプロンプトは、現在の日付、時刻、または曜日が必要な場合に `session_status` ツールを実行するよう
エージェントに指示します。

## システムイベント行（デフォルトではローカル）

エージェントのコンテキストに挿入されるキュー内のシステムイベントには、メッセージエンベロープと
同じ `envelopeTimezone` の選択を使用したタイムスタンプがプレフィックスとして付加されます（デフォルト: ホストのローカル時刻）。

```
システム: [2026-01-12 12:19:17 PST] モデルが切り替えられました。
```

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

```json5
{
  agents: {
    defaults: {
      userTimezone: "America/Chicago",
      timeFormat: "auto", // auto | 12 | 24
    },
  },
}
```

- `userTimezone` は、プロンプトコンテキスト（および `envelopeTimezone: "user"`）の**ユーザーのローカルタイムゾーン**を設定します。
- `timeFormat` は、プロンプトに表示される時刻の **12 時間制/24 時間制表示**を制御します。`auto` は OS の設定に従います。

## 時刻形式の検出（自動）

`timeFormat: "auto"` の場合、OpenClaw は OS の設定（macOS および Windows）を調べ、
ロケール形式にフォールバックします。検出された値は、システム呼び出しの繰り返しを避けるため、
**プロセスごとにキャッシュ**されます。

## ツールペイロードとコネクター（プロバイダーの未加工時刻と正規化フィールド）

チャンネルツールは**プロバイダーネイティブのタイムスタンプ**を返し、一貫性を確保するために正規化されたフィールドを追加します。

- `timestampMs`: エポックミリ秒（UTC）
- `timestampUtc`: ISO 8601 UTC 文字列

情報が失われないように、プロバイダーの未加工フィールドは保持されます。

- Discord: UTC ISO タイムスタンプ
- Slack: API からのエポック形式の文字列
- Telegram/WhatsApp: プロバイダー固有の数値/ISO タイムスタンプ

ローカル時刻が必要な場合は、既知のタイムゾーンを使用して後続処理で変換してください。

## 関連ドキュメント

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