แปลงค่า DateTime เป็นข้อความ (Text) โดยสามารถกำหนดรูปแบบวันที่และเวลาตามต้องการได้
=DateTime.ToText(dateTime as nullable datetime, optional options as any, optional culture as nullable text) as nullable text
=DateTime.ToText(dateTime as nullable datetime, optional options as any, optional culture as nullable text) as nullable text
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| dateTime | datetime | Yes | ค่า DateTime ที่ต้องการแปลงเป็นข้อความ | |
| options | record/text | Optional | – | ตัวเลือกการ Format – สามารถเป็น Text (Format String) หรือ Record ที่มี Format และ Culture ตัวอย่าง: [Format=”dd/MM/yyyy”, Culture=”th-TH”] |
| culture | text | Optional | – | รหัสภาษา เช่น “en-US”, “th-TH”, “de-DE” ใช้เมื่อต้องการชื่อเดือนและการแสดงผลตามภาษาที่ระบุ |
let dt = #datetime(2025, 12, 31, 14, 30, 0) in DateTime.ToText(dt)= let
dt = #datetime(2025, 12, 31, 14, 30, 0)
in
DateTime.ToText(dt)
"31/12/2025 2:30:00 PM" (ขึ้นกับการตั้งค่าเครื่อง)
let dt = #datetime(2025, 12, 31, 14, 30, 0), Formatted = DateTime.ToText(dt, "dd/MM/yyyy HH:mm") in Formatted= 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"
let dt = #datetime(2025, 12, 31, 14, 30, 0), Formatted = DateTime.ToText(dt, [Format="dd MMM yyyy", Culture="en-US"]) in Formatted= 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"
let Source = Table.FromRows( {{#datetime(2025, 1, 15, 9, 0, 0)}, {#datetime(2025, 2, 20, 14, 30, 0)}}, {"EventDateTime"} ), WithFormatted = Table.AddColumn(Sour…= 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")
DateTime.ToText เอาทั้งวันที่และเวลา ส่วน Date.ToText เอาแค่วันที่อย่างเดียว (ไม่มีเวลา)
ตามความต้องการ แต่นิยม “dd/MM/yyyy” สำหรับวันที่อย่างเดียว, “dd/MM/yyyy HH:mm” สำหรับมีเวลา, “dd MMMM yyyy” สำหรับฟอร์มัลหน่อย
จะ Return null ด้วย เพราะ function signature มี “nullable datetime” อยู่
ดู .NET Custom Date and Time Format Strings – ใช้ yyyy (ปี 4 หลัก), MM (เดือน 2 หลัก), dd (วัน 2 หลัก), HH (ชั่วโมง 24 ชม.), mm (นาที), ss (วินาที) เป็นต้น
DateTime.ToText(dateTime, options, culture) ใช้สำหรับแปลงค่า DateTime เป็นข้อความ (Text) โดยรองรับการกำหนดรูปแบบและภาษาต่างๆ
ที่เจ๋งของฟังก์ชันนี้คือ สามารถ Format วันที่และเวลาให้เป็นรูปแบบที่อ่านง่าย พร้อมรองรับหลายภาษา เช่น “dd MMM yyyy” จะแสดง “31 Dec 2025” หรือ “31 Dez 2025” ตามภาษาที่เลือก
ส่วนตัวผม มักใช้ DateTime.ToText คู่กับ let…in เพื่อสร้างฟิลด์ข้อความที่อ่านง่ายสำหรับรายงาน แทนที่จะปล่อยให้มันแสดงแบบยาวๆ อย่าง “2025-12-31T14:30:00” ครับ