Thep Excel

DateTime.FromText

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

fx
= DateTime.FromText(text, [options]) as nullable datetime

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

อัปเดต 12 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
text text ข้อความที่ต้องการแปลงให้เป็น datetime (สามารถเป็น null ได้)
[options]ไม่บังคับ record null Record ที่สามารถมี Format (รูปแบบเฉพาะ) และ Culture (ภาษา/วัฒนธรรม) ได้

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

Additional Notes

DateTime.FromText ใช้สำหรับแปลงข้อความ (text) ให้เป็นค่า datetime ที่ Power Query เข้าใจได้ ฟังก์ชันนี้มีประโยชน์เมื่อคุณนำเข้าข้อมูลวันเวลาจากแหล่งที่หลากหลาย เช่น API, CSV หรือ database ที่มีรูปแบบวันเวลาต่างๆ กัน

ที่เจ๋งคือมีพารามิเตอร์ options ที่อนุญาตให้คุณระบุรูปแบบวันเวลาแบบชัดเจน (Format) และภาษา/วัฒนธรรม (Culture) ด้วย ทำให้สามารถแยกวิเคราะห์วันที่เป็นภาษาต่างๆ ได้อย่างแม่นยำ เช่น “30 Dez 2010” (ภาษาเยอรมัน) หรือ “2010-12-31T01:30:25” (ISO standard)

ส่วนตัวผมมักใช้ DateTime.FromText คู่กับ Table.TransformColumns เมื่อต้องการแปลงคอลัมน์ข้อความให้เป็น datetime แบบเป็นระบบๆ และใช้พารามิเตอร์ Format เมื่อข้อมูลขาเข้ามาในรูปแบบพิเศษ เช่น “yyyyMMdd” หรือ “dd/MM/yyyy HH:mm:ss” ครับ

Examples

แปลงรูปแบบ ISO standardDateTime.FromText("2010-12-31T01:30:25")

ข้อความในรูปแบบ ISO 8601 (yyyy-MM-dd'T'HH:mm:ss) จะแปลงโดยอัตโนมัติโดยไม่ต้องระบุ Format

fx
= DateTime.FromText("2010-12-31T01:30:25")

ผลลัพธ์#datetime(2010, 12, 31, 1, 30, 25)
ใช้ Format และ Culture เฉพาะDateTime.FromText("30 Dez 2010 02:04:50.369730", [Format="dd MMM yyyy HH:mm:ss.ffffff", Culture="de-DE"])

ข้อความเป็นภาษาเยอรมัน (Dez = December) แปลงได้โดยระบุ Culture="de-DE" และ Format ที่ตรงกับรูปแบบข้อมูล

fx
= DateTime.FromText("30 Dez 2010 02:04:50.369730",
[Format="dd MMM yyyy HH:mm:ss.ffffff", Culture="de-DE"])

ผลลัพธ์#datetime(2010, 12, 30, 2, 4, 50.36973)
รูปแบบกะทัดรัดที่มี T และ ZDateTime.FromText("2000-02-08T03:45:12Z", [Format="yyyy-MM-dd'T'HH:mm:ss'Z'", Culture="en-US"])

รูปแบบ compact ที่มีอักขระพิเศษ (T และ Z) สามารถแปลงได้โดยใช้ single quotes เพื่อแสดง literal characters

fx
= DateTime.FromText("2000-02-08T03:45:12Z",
[Format="yyyy-MM-dd'T'HH:mm:ss'Z'", Culture="en-US"])

ผลลัพธ์#datetime(2000, 2, 8, 3, 45, 12)
รูปแบบเปอร์เซ็นต์ (yyyyMMddTHHmmss)DateTime.FromText("20101231T013000", [Format="yyyyMMdd'T'HHmmss", Culture="en-US"])

รูปแบบที่ไม่มีตัวคั่น สามารถแปลงได้ถ้าระบุ Format ที่ตรงกันในรูป yyyyMMddTHHmmss

fx
= DateTime.FromText("20101231T013000",
[Format="yyyyMMdd'T'HHmmss", Culture="en-US"])

ผลลัพธ์#datetime(2010, 12, 31, 1, 30, 0)

FAQs

ถ้าข้อความไม่ตรงกับ Format ที่ระบุจะเป็นอย่างไร+

ฟังก์ชันจะส่งกลับ null (ไม่มีค่า) แต่ไม่ยุติการทำงาน ถ้าต้องการจับข้อผิดพลาด สามารถใช้ try-catch โดยห่อด้วย try DateTime.FromText(…) otherwise null

หากไม่ระบุ Format จะเกิดอะไร+

Power Query จะพยายาม parse ตามรูปแบบมาตรฐานต่างๆ โดยอัตโนมัติ (best-effort parsing) เช่น ISO 8601, วัฒนธรรมปัจจุบัน เป็นต้น

ใช้ได้กับ Culture ภาษาไทยหรือไม่+

ได้ แต่ต้องใช้รูปแบบและระบุ Culture="th-TH" ให้ถูกต้อง เช่น "31/12/2010" สำหรับรูปแบบ dd/MM/yyyy

ความแตกต่างระหว่าง DateTime.FromText กับ Date.FromText คืออะไร+

DateTime.FromText แปลงเป็น datetime (วันที่ + เวลา) ส่วน Date.FromText แปลงเป็น date (วันที่เท่านั้น) ไม่มีส่วนของเวลา

Resources & Related

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

ฟังก์ชันนี้DateTime.FromTextDateTime functions
DateTime functions (2)
DateTime.From

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

DateTime.ToText

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

Date functions (1)
Date.FromText

Date.FromText แปลงค่าข้อความให้เป็นค่าวันที่ รองรับการระบุรูปแบบวันที่และภาษาที่แตกต่างกัน ฟังก์ชันนี้จำเป็นสำหรับการอ่านข้อมูลวันที่จากแหล่งข้อมูลภายนอก การจัดการข้อมูลที่มีรูปแบบวันที่หลากหลาย และการทำให้ข้อมูลเป็นมาตรฐาน

Table functions (1)
Table.TransformColumns

Table.TransformColumns ใช้สำหรับแปลงข้อมูลในคอลัมน์โดยใช้ฟังก์ชันที่กำหนดไว้ แต่ละคอลัมน์สามารถมีการแปลงแตกต่างกันได้ รองรับการเปลี่ยนแปลงประเภทข้อมูลในเวลาเดียวกัน

Comments

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