---
read_when:
    - คุณกำลังเปลี่ยนวิธีแสดงการประทับเวลาให้โมเดลหรือผู้ใช้เห็น
    - คุณกำลังแก้ไขข้อบกพร่องเกี่ยวกับการจัดรูปแบบเวลาในข้อความหรือเอาต์พุตของพรอมต์ระบบ
summary: การจัดการวันที่และเวลาในเอนเวโลป พรอมต์ เครื่องมือ และตัวเชื่อมต่อ
title: วันที่และเวลา
x-i18n:
    generated_at: "2026-07-12T16:01:33Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    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] message text
```

โดยค่าเริ่มต้น การประทับเวลาของซองจะเป็น **เวลาท้องถิ่นของโฮสต์** ไม่ว่าเขตเวลาของผู้ให้บริการจะเป็นเขตเวลาใด
กำหนดค่าทับได้ภายใต้ `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] hello
```

**เขตเวลาของผู้ใช้:**

```
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] hello
```

**เวลาที่ผ่านไปเมื่อใช้ `envelopeTimezone: "utc"`:**

```
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] follow-up
```

## พรอมต์ระบบ: วันที่และเวลาปัจจุบัน

พรอมต์ระบบมีส่วน **วันที่และเวลาปัจจุบัน** ซึ่งระบุ **เฉพาะเขตเวลา**
(ไม่มีนาฬิกาหรือรูปแบบเวลา) เพื่อให้แคชพรอมต์คงที่:

```
Time zone: America/Chicago
```

เขตเวลาจะใช้ `agents.defaults.userTimezone` เมื่อตั้งค่าไว้ มิฉะนั้นจะใช้เขตเวลาของโฮสต์
พรอมต์ยังสั่งให้เอเจนต์เรียกใช้เครื่องมือ `session_status` เมื่อใดก็ตามที่ต้องการทราบ
วันที่ เวลา หรือวันในสัปดาห์ปัจจุบัน

## บรรทัดเหตุการณ์ระบบ (ค่าเริ่มต้นเป็นเวลาท้องถิ่น)

เหตุการณ์ระบบที่อยู่ในคิวและแทรกเข้าในบริบทของเอเจนต์จะมีคำนำหน้าเป็นการประทับเวลา โดยใช้การเลือก
`envelopeTimezone` แบบเดียวกับซองข้อความ (ค่าเริ่มต้น: เวลาท้องถิ่นของโฮสต์)

```
System: [2026-01-12 12:19:17 PST] Model switched.
```

### กำหนดเขตเวลาของผู้ใช้และรูปแบบ

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

- `userTimezone` กำหนด **เขตเวลาท้องถิ่นของผู้ใช้** สำหรับบริบทของพรอมต์ (และสำหรับ `envelopeTimezone: "user"`)
- `timeFormat` ควบคุม **การแสดงผลแบบ 12/24 ชั่วโมง** สำหรับเวลาที่แสดงในพรอมต์ `auto` จะใช้ค่ากำหนดของระบบปฏิบัติการ

## การตรวจหารูปแบบเวลา (อัตโนมัติ)

เมื่อใช้ `timeFormat: "auto"` OpenClaw จะตรวจสอบค่ากำหนดของระบบปฏิบัติการ (macOS และ Windows)
และย้อนกลับไปใช้การจัดรูปแบบตามโลแคล ค่าที่ตรวจพบจะถูก **แคชแยกตามแต่ละโพรเซส**
เพื่อหลีกเลี่ยงการเรียกระบบซ้ำ

## เพย์โหลดของเครื่องมือและตัวเชื่อมต่อ (เวลาดิบจากผู้ให้บริการและฟิลด์ที่ปรับให้เป็นมาตรฐาน)

เครื่องมือของช่องทางจะส่งคืน **การประทับเวลาตามรูปแบบดั้งเดิมของผู้ให้บริการ** และเพิ่มฟิลด์ที่ปรับให้เป็นมาตรฐานเพื่อความสอดคล้อง:

- `timestampMs`: มิลลิวินาทีนับจากยุคเริ่มต้น (UTC)
- `timestampUtc`: สตริง UTC รูปแบบ ISO 8601

ฟิลด์ดิบจากผู้ให้บริการจะถูกเก็บไว้เพื่อไม่ให้ข้อมูลสูญหาย

- Discord: การประทับเวลา ISO แบบ UTC
- Slack: สตริงลักษณะคล้ายเวลานับจากยุคเริ่มต้นจาก API
- Telegram/WhatsApp: การประทับเวลาแบบตัวเลข/ISO ที่เฉพาะเจาะจงกับผู้ให้บริการ

หากต้องการเวลาท้องถิ่น ให้แปลงในขั้นตอนปลายทางโดยใช้เขตเวลาที่ทราบ

## เอกสารที่เกี่ยวข้อง

- [พรอมต์ระบบ](/th/concepts/system-prompt)
- [เขตเวลา](/th/concepts/timezone)
- [ข้อความ](/th/concepts/messages)
