---
title: Time.Hour – ดึงชั่วโมงจากค่าเวลา
url: https://www.thepexcel.com/functions/power-query/time-functions/time-hour/
type: function-explainer
program: Power Query
syntax: = Time.Hour(dateTime as any) as nullable number
date: 2025-12-12
updated: 2025-12-23
scores:
  popularity: 7
  difficulty: 2
  usefulness: 7
---

# Time.Hour – ดึงชั่วโมงจากค่าเวลา

> Time.Hour ใช้สำหรับดึงค่าชั่วโมง (0-23) จากค่า time, datetime หรือ datetimezone

## คำอธิบาย

Time.Hour ใช้สำหรับดึงค่าชั่วโมง (0-23) จากค่า time, datetime หรือ datetimezone

## Syntax

```excel
= Time.Hour(dateTime as any) as nullable number
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| dateTime | Yes | time, datetime, or datetimezone |  | ค่าเวลาที่ต้องการดึงชั่วโมง สามารถเป็น time, datetime หรือ datetimezone |

## ตัวอย่าง

### 1. ตัวอย่างพื้นฐาน - ดึงชั่วโมงจาก datetime

```excel
= Time.Hour(#datetime(2011, 12, 31, 9, 15, 36))
```

**ผลลัพธ์:** `9`

ดึงชั่วโมงจากวันที่ 31 ธันวาคม 2011 เวลา 9:15:36 ได้ผลลัพธ์เป็น 9

### 2. ตัวอย่างกับค่า time

```excel
= Time.Hour(#time(14, 30, 0))
```

**ผลลัพธ์:** `14`

ดึงชั่วโมงจากค่า time 14:30:00 ได้ผลลัพธ์เป็น 14

### 3. ตัวอย่างในสูตร let...in - เพิ่มคอลัมน์ชั่วโมง

```excel
let
    Sales = Table.FromRows(
        {{"2025-01-15 09:30:00", 1500}, {"2025-01-15 14:45:00", 2000}, {"2025-01-15 18:20:00", 800}},
        {"Timestamp", "Amount"}
    ),
    AddHour = Table.AddColumn(Sales, "Hour", each Time.Hour([Timestamp])),
    Result = AddHour
in
    Result
```

**ผลลัพธ์:** `ตารางมี 3 แถว โดยคอลัมน์ Hour มีค่า 9, 14, 18 ตามลำดับ`

เพิ่มคอลัมน์ใหม่ชื่อ Hour ซึ่งดึงชั่วโมงจากแต่ละแถว ทำให้เห็นชั่วโมงของการขายแต่ละรายการ

### 4. ตัวอย่างการจัดกลุ่มตามชั่วโมง

```excel
let
    Data = Table.FromRows(
        {{"2025-01-15 08:15:00", 100}, {"2025-01-15 08:45:00", 150}, {"2025-01-15 14:30:00", 200}},
        {"Time", "Sales"}
    ),
    AddHour = Table.AddColumn(Data, "Hour", each Time.Hour([Time])),
    Grouped = Table.Group(AddHour, {"Hour"}, {{"Total", each List.Sum([Sales]), "Count", each Table.RowCount(_)}}),
    Result = Grouped
in
    Result
```

**ผลลัพธ์:** `ตารางแสดงสรุปตามชั่วโมง: ชั่วโมงที่ 8 มียอดขาย 250, ชั่วโมงที่ 14 มียอดขาย 200`

จัดกลุ่มข้อมูลตามชั่วโมง แล้วสรุปยอดขายรวมและจำนวนรายการในแต่ละชั่วโมง

## หมายเหตุเพิ่มเติม

- ใช้ Time.Hour เพื่อวิเคราะห์ลวงเวลา เช่นเวลาไหนที่มีลูกค้ามากสุด

- รวมกับ Table.Group เพื่อสรุปข้อมูลตามชั่วโมง

- ใช้เพื่อสร้างเงื่อนไข เช่น \"each Time.Hour([TimeStamp]) > 17\" เพื่อหารายการหลังเวลา 17:00

- หากต้องการชั่วโมงเป็นข้อความ 2 หลัก ให้ใช้ Text.PadStart(Text.From(Time.Hour([Time])), 2, "0")

## คำถามที่พบบ่อย

**Q: Time.Hour ส่งคืนค่าไหนสำหรับเวลากลางคืน?**

Time.Hour ใช้รูปแบบ 24 ชั่วโมง เช่น 00:00 ถึง 23:59 ดังนั้นเวลา 9 นอนเช้า คืน 21:00 จะได้ผลลัพธ์เป็น 21

**Q: ฟังก์ชันนี้ทำงานกับเขตเวลาต่างๆ ไหม?**

ได้ครับ Time.Hour ทำงานกับ datetimezone ปกติ และดึงชั่วโมงตามเขตเวลาที่เก็บในค่านั้น

**Q: ถ้าส่งค่า null จะเกิดอะไร?**

Time.Hour จะส่งคืน null หากข้อมูลเข้าเป็น null

**Q: ความแตกต่างระหว่าง Time.Hour กับ DateTime.Hour คืออะไร?**

DateTime.Hour ใช้สำหรับ datetime โดยตรง ส่วน Time.Hour ยืดหยุ่นมากกว่า รองรับ time, datetime และ datetimezone

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Learn: Time.Hour](https://learn.microsoft.com/en-us/powerquery-m/time-hour) _(official)_
- [Microsoft Learn: Date and Time Functions](https://learn.microsoft.com/en-us/powerquery-m/date-and-time-functions) _(official)_

---

_Source: [https://www.thepexcel.com/functions/power-query/time-functions/time-hour/](https://www.thepexcel.com/functions/power-query/time-functions/time-hour/)_
