---
title: DateTime.ToText – แปลง DateTime เป็นข้อความ
url: https://www.thepexcel.com/functions/power-query/datetime-functions/datetime-totext/
type: function-explainer
program: Power Query
syntax: "DateTime.ToText(dateTime as nullable datetime, optional options as any, optional culture as nullable text) as nullable text"
date: 2025-12-03
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 3
  usefulness: 6
---

# DateTime.ToText – แปลง DateTime เป็นข้อความ

> แปลงค่า DateTime เป็นข้อความ (Text) โดยสามารถกำหนดรูปแบบวันที่และเวลาตามต้องการได้

## คำอธิบาย

แปลงค่า DateTime เป็นข้อความ (Text) โดยสามารถกำหนดรูปแบบวันที่และเวลาตามต้องการได้

## Syntax

```excel
DateTime.ToText(dateTime as nullable datetime, optional options as any, optional culture as nullable text) as nullable text
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| dateTime | Yes | datetime |  | ค่า DateTime ที่ต้องการแปลงเป็นข้อความ |
| options | No | record/text | - | ตัวเลือกการ Format - สามารถเป็น Text (Format String) หรือ Record ที่มี Format และ Culture ตัวอย่าง: [Format="dd/MM/yyyy", Culture="th-TH"] |
| culture | No | text | - | รหัสภาษา เช่น "en-US", "th-TH", "de-DE" ใช้เมื่อต้องการชื่อเดือนและการแสดงผลตามภาษาที่ระบุ |

## ตัวอย่าง

### 1. แปลงเป็นข้อความตามรูปแบบเครื่อง (Default)

```excel
= let
    dt = #datetime(2025, 12, 31, 14, 30, 0)
  in
    DateTime.ToText(dt)
```

**ผลลัพธ์:** `"31/12/2025 2:30:00 PM" (ขึ้นกับการตั้งค่าเครื่อง)`

ถ้าไม่ระบุ Format และ Culture จะใช้ค่า Default ของระบบปัจจุบัน

### 2. กำหนด Format เอง (ไทยจริงๆ)

```excel
= let
    dt = #datetime(2025, 12, 31, 14, 30, 0),
    Formatted = DateTime.ToText(dt, "dd/MM/yyyy HH:mm")
  in
    Formatted
```

**ผลลัพธ์:** `"31/12/2025 14:30"`

ระบุ Format String "dd/MM/yyyy HH:mm" เพื่อแสดงแบบ 24 ชั่วโมง

### 3. ใช้ Format พร้อมภาษาอังกฤษ

```excel
= let
    dt = #datetime(2025, 12, 31, 14, 30, 0),
    Formatted = DateTime.ToText(dt, [Format="dd MMM yyyy", Culture="en-US"])
  in
    Formatted
```

**ผลลัพธ์:** `"31 Dec 2025"`

"MMM" จะแสดงชื่อเดือนแบบย่อ (Dec) และ Culture="en-US" ส่งผลต่อชื่อเดือนให้เป็นภาษาอังกฤษ

### 4. ใช้กับ Table Column

```excel
= let
    Source = Table.FromRows(
        {{#datetime(2025, 1, 15, 9, 0, 0)}, {#datetime(2025, 2, 20, 14, 30, 0)}},
        {"EventDateTime"}
    ),
    WithFormatted = Table.AddColumn(Source, "FormattedDate", 
        each DateTime.ToText([EventDateTime], "dd MMMM yyyy"))
  in
    WithFormatted
```

**ผลลัพธ์:** `ตารางมี 2 คอลัมน์: EventDateTime และ FormattedDate (แสดง "15 January 2025", "20 February 2025")`

เพิ่มคอลัมน์ใหม่ที่มีวันที่เป็นข้อความ โดยใช้ each เพื่อแนวนอน Datetime ในแต่ละแถว

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

- ใช้ Record syntax [Format="...", Culture="..."] แทน positional arguments เมื่อต้องการความชัดเจน

- เมื่อต้องการรูปแบบ ISO 8601 (สำหรับ REST API) ใช้ "yyyy-MM-dd'T'HH:mm:ss'Z'" โดยใช่ Quote ตัวเดี่ยว (') สำหรับ Literal Text

- ใช้ "MMM" สำหรับชื่อเดือนย่อ (Jan, Feb) และ "MMMM" สำหรับชื่อเดือนเต็ม (January, February)

- เมื่อเพิ่มคอลัมน์ในตารางให้ใช้ Table.AddColumn คู่กับ each และ DateTime.ToText จะสะดวกและ Readable

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

**Q: แตกต่างระหว่าง DateTime.ToText กับ Date.ToText ตรงไหน?**

DateTime.ToText เอาทั้งวันที่และเวลา ส่วน Date.ToText เอาแค่วันที่อย่างเดียว (ไม่มีเวลา)

**Q: รูปแบบ Format String ใดเหมาะสำหรับรายงาน?**

ตามความต้องการ แต่นิยม "dd/MM/yyyy" สำหรับวันที่อย่างเดียว, "dd/MM/yyyy HH:mm" สำหรับมีเวลา, "dd MMMM yyyy" สำหรับฟอร์มัลหน่อย

**Q: ถ้า DateTime เป็น null จะเกิดอะไร?**

จะ Return null ด้วย เพราะ function signature มี "nullable datetime" อยู่

**Q: หน้า Format String เป็นไร บาง Format ใช้ไม่ได้**

ดู .NET Custom Date and Time Format Strings - ใช้ yyyy (ปี 4 หลัก), MM (เดือน 2 หลัก), dd (วัน 2 หลัก), HH (ชั่วโมง 24 ชม.), mm (นาที), ss (วินาที) เป็นต้น

## ฟังก์ชันที่เกี่ยวข้อง

- [DateTime.From – แปลงค่าเป็น DateTime](https://www.thepexcel.com/functions/power-query/datetime-functions/datetime-from/)
- [Date.ToText – แปลงวันที่เป็นข้อความ](https://www.thepexcel.com/functions/power-query/date-functions/date-totext/)
- [Time.ToText](https://www.thepexcel.com/functions/power-query/time-functions/time-totext/)

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

- [Microsoft Learn - DateTime.ToText](https://learn.microsoft.com/en-us/powerquery-m/datetime-totext) _(official)_
- [.NET Custom Date and Time Format Strings](https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings) _(official)_

---

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