---
title: "แจ้งเตือนตามช่วงเวลาด้วยเงื่อนไข UTC ใน Echobell"
description: "ใช้ตัวแปรเวลา UTC ที่มีให้ใน Echobell เพื่อกรองการแจ้งเตือนตามเวลาทำการ วันหยุดสุดสัปดาห์ หรือช่วงปิดปรับปรุง พร้อมสูตรเงื่อนไขที่นำไปใช้ได้ทันที"
date: 2025-11-06
author: Nooc
authorAvatarLink: /images/avatars/nooc.webp
authorLink: https://nooc.me
tags:
  - Echobell
  - เงื่อนไข
  - UTC
  - แจ้งเตือนตามช่วงเวลา
  - การกรองการแจ้งเตือน
---

# แจ้งเตือนตามช่วงเวลาด้วยเงื่อนไข UTC ใน Echobell

ตัวแปรเวลา UTC ที่มีมาให้ใน Echobell ช่วยให้คุณจำกัดการแจ้งเตือนไว้เฉพาะช่วงเวลาที่ต้องการ ไม่ว่าจะเป็นเวลาทำการ กะเวร on-call หรือช่วงปิดปรับปรุง โดยตั้งได้ในเงื่อนไขของช่องโดยตรง ไม่ต้องมีชั้นกรองจากภายนอก

สิ่งที่ควรรู้ก่อน: [เงื่อนไข](/th/docs/conditions), [เทมเพลต](/th/docs/template), [Webhook](/th/docs/webhook), [ทริกเกอร์อีเมล](/th/docs/email-trigger)

## ตัวแปร UTC ที่ใช้ได้

ตัวแปรเหล่านี้อ่านได้อย่างเดียว มีให้ใช้เสมอ และคำนวณเป็นเวลา UTC:

- `timezone` (เป็น "UTC" เสมอ), `now`/`iso`, `epochMs`, `epochSeconds`
- `year`, `month` (1–12), `monthName`
- `dayOfMonth` (1–31)
- `dayOfWeek` (0–6 โดยวันอาทิตย์ = 0), `dayOfWeekName`
- `hour` (0–23), `minute` (0–59), `second` (0–59)
- `date` (YYYY-MM-DD), `time` (HH:mm:ss)

ใช้ได้โดยตรงใน[เงื่อนไข](/th/docs/conditions) (ไม่ต้องใส่ `{{ }}`) ส่วนใน[เทมเพลต](/th/docs/template)ให้ใช้คู่กับ `{{ }}`

## สูตรเงื่อนไข

### วันธรรมดาในเวลาทำการ

```
hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5
```

### เฉพาะวันหยุดสุดสัปดาห์

```
dayOfWeek == 0 || dayOfWeek == 6
```

### นอกเวลาทำการ (กลางคืนและวันหยุดสุดสัปดาห์)

```
(hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6
```

### ช่วงปิดปรับปรุง (วันเสาร์ 01:00–03:00)

```
dayOfWeek == 6 && hour >= 1 && hour < 3
```

### วันแรกของทุกเดือน ตอนต้นชั่วโมงพอดี

```
dayOfMonth == 1 && minute == 0
```

### เวลาทำการช่วงปลายไตรมาส (มี.ค./มิ.ย./ก.ย./ธ.ค.)

```
(month == 3 || month == 6 || month == 9 || month == 12) && hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5
```

## ผสมเงื่อนไขเวลาเข้ากับการกรองเนื้อหา

เงื่อนไขเวลาประกอบเข้ากับตัวแปรข้อมูลได้ด้วยตัวดำเนินการมาตรฐาน:

- ยกระดับเฉพาะเหตุการณ์ความรุนแรงสูงที่เกิดนอกเวลาทำการ:
  ```
  ((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical")
  ```
- เฉพาะสภาพแวดล้อมโปรดักชัน และเฉพาะวันธรรมดา:
  ```
  environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5
  ```

เงื่อนไขเป็นนิพจน์ล้วน ๆ อย่าครอบด้วย `{{ }}` ดูเพิ่มที่[เงื่อนไข → ตัวดำเนินการที่รองรับ](/th/docs/conditions#ตัวดำเนินการที่รองรับ)

## ใช้ตัวแปรเวลาในเทมเพลต

ตัวแปรชุดเดียวกันนี้ใช้ในเทมเพลตได้ด้วย `{{ }}` ซึ่งมีประโยชน์กับบันทึกตรวจสอบและข้อความยืนยันที่คนอ่านเข้าใจ:

```
Sent at {{date}} {{time}} {{sys.timezone}}
Today is {{sys.dayOfWeekName}}, {{sys.monthName}} {{dayOfMonth}}, {{year}}
Epoch: {{sys.epochSeconds}}
```

ผสมกับข้อมูลจาก [Webhook](/th/docs/webhook) หรือ[ทริกเกอร์อีเมล](/th/docs/email-trigger):

```
{{service}} {{status}} at {{time}} ({{sys.timezone}})
```

## ข้อควรรู้

- ตัวแปรระบบทั้งหมดเป็นเวลา UTC หากทีมของคุณอยู่คนละโซนเวลา ให้เผื่อค่าชดเชยเวลาไว้ตอนกำหนดช่วงชั่วโมง
- เริ่มจากช่วงเวลาง่าย ๆ ก่อน แล้วค่อยเพิ่มการกรองเนื้อหาเมื่อมันทำงานได้แล้ว
- เขียนคำอธิบายสั้น ๆ ไว้ที่ช่องว่าตรรกะของเงื่อนไขคืออะไร (เช่น "วันธรรมดา 09–17 UTC และนอกเวลาทำการเฉพาะความรุนแรงสูง")

## ขั้นตอนถัดไป

- เพิ่มเงื่อนไขช่วงเวลาให้ช่องที่มีอยู่: [เงื่อนไข](/th/docs/conditions)
- ปรับแต่งเนื้อหาการแจ้งเตือนด้วยตัวแปร: [เทมเพลต](/th/docs/template)
- สร้างช่องแยกกันสำหรับเวลาทำการกับช่วงเวร on-call
- ตั้งช่องเวร on-call เป็นประเภทการแจ้งเตือนแบบโทรเข้า เพื่อรับมือความเร่งด่วนนอกเวลาทำการ
