Thep Excel

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

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

fx
=DateTime.ToText(dateTime, [options], [culture]) as nullable text

ความนิยม6/10
ความยาก3/10
ประโยชน์6/10

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
dateTime datetime ค่า DateTime ที่ต้องการแปลงเป็นข้อความ
[options]ไม่บังคับ record/text – ตัวเลือกการ Format – สามารถเป็น Text (Format String) หรือ Record ที่มี Format และ Culture ตัวอย่าง: [Format=”dd/MM/yyyy”, Culture=”th-TH”]
[culture]ไม่บังคับ text – รหัสภาษา เช่น “en-US”, “th-TH”, “de-DE” ใช้เมื่อต้องการชื่อเดือนและการแสดงผลตามภาษาที่ระบุ

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

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” ครับ

Examples

แปลงเป็นข้อความตามรูปแบบเครื่อง (Default)let dt = #datetime(2025, 12, 31, 14, 30, 0) in DateTime.ToText(dt)

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

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

ผลลัพธ์"31/12/2025 2:30:00 PM" (ขึ้นกับการตั้งค่าเครื่อง)
กำหนด Format เอง (ไทยจริงๆ)let dt = #datetime(2025, 12, 31, 14, 30, 0), Formatted = DateTime.ToText(dt, "dd/MM/yyyy HH:mm") in Formatted

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

fx
= 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 พร้อมภาษาอังกฤษlet dt = #datetime(2025, 12, 31, 14, 30, 0), Formatted = DateTime.ToText(dt, [Format="dd MMM yyyy", Culture="en-US"]) in Formatted

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

fx
= 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"
ใช้กับ Table Columnlet Source = Table.FromRows( {{#datetime(2025, 1, 15, 9, 0, 0)}, {#datetime(2025, 2, 20, 14, 30, 0)}}, {"EventDateTime"} ), WithFormatted = Table.AddColumn(Sour…

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

fx
= 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")

FAQs

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

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

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

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

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

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

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

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

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ DateTime.ToText จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้DateTime.ToTextDateTime functions
DateTime functions (3)
DateTime.From

DateTime.From แปลงค่าต่างๆ (Text, Date, Time, Number) ให้เป็นข้อมูลชนิด DateTime ด้วยการระบุค่าและรหัสภาษาทำให้สะดวกในการจัดการข้อมูลวันเวลาจากแหล่งต่างๆ

DateTime.FromText

DateTime.FromText ใช้แปลงข้อความเป็นค่า datetime พร้อมรองรับรูปแบบและภาษาที่หลากหลาย

DateTime.Time

ฟังก์ชันที่ดึงเฉพาะส่วนเวลา (Time) ออกจากค่า DateTime เมื่อคุณต้องการแยกเวลาจากค่าวันที่และเวลารวมกัน

Date functions (1)
Date.ToText

Date.ToText แปลงค่า Date ให้เป็น Text String โดยสามารถกำหนด Format และ Culture ได้ตามต้องการ เหมาะสำหรับแสดงผลวันที่ในรูปแบบที่สวยงาม

DateTimeZone functions (1)
DateTimeZone.ToText

แปลง DateTimeZone เป็นข้อความ

Table functions (1)
Table.AddColumn

Table.AddColumn เพิ่มคอลัมน์ใหม่ลงในตารางโดยคำนวณค่าจากฟังก์ชันที่กำหนด ใช้คำสั่ง each เพื่ออ้างอิงข้อมูลในแต่ละแถว เช่น each [Price] * [Quantity] สามารถระบุชนิดข้อมูลได้เพื่อเพิ่มประสิทธิภาพและป้องกันข้อผิดพลาดจากการคาดเดาชนิดข้อมูล ทำงานแบบทีละแถวและเหมาะสำหรับสร้างคอลัมน์คำนวณ รวมข้อมูล ใช้เงื่อนไข และการแปลงข้อมูลต่างๆ ใช้ร่วมกับฟังก์ชัน Table.TransformColumns สำหรับแก้ไขคอลัมน์เดิม Table.AddIndexColumn สำหรับเพิ่มหมายเลขลำดับ Table.SelectRows สำหรับกรองแถว Table.FromRecords สำหรับสร้างตารางจากข้อมูล Text.Combine สำหรับรวมข้อความ Number.Round สำหรับปัดเศษ Date.Year สำหรับดึงค่าปี และ Text.Upper สำหรับแปลงเป็นตัวพิมพ์ใหญ่ เพื่อสร้างกระบวนการแปลงข้อมูลที่สมบูรณ์

Time functions (1)
Time.ToText

Time.ToText ใช้สำหรับการประมวลผล

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่