Thep Excel

DateTime.From – แปลงค่าเป็น DateTime

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

=DateTime.From(value as any, optional culture as nullable text) as nullable datetime

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
7/10

Difficulty
3/10

Usefulness
7/10

Syntax & Arguments

=DateTime.From(value as any, optional culture as nullable text) as nullable datetime

Argument Type Required Default Description
value any Yes ค่าที่ต้องการแปลง สามารถเป็น Text (“2025-12-31 14:30”), Date, Time, Number (OLE Automation Date), หรือ DateTimeZone
culture text Optional รหัสภาษา/เขตหนึ่งฯ (culture code) เช่น “en-US” (อังกฤษ-สหรัฐ), “th-TH” (ไทย), “de-DE” (เยอรมัน) ใช้ระบุรูปแบบวันเวลาที่คาดหวัง

Examples

แปลงจาก Text
DateTime.From("2025-12-31 14:30:00")
แปลงข้อความเป็น DateTime ตามรูปแบบ ISO 8601 (YYYY-MM-DD HH:MM:SS)
Power Query Formula:

=DateTime.From("2025-12-31 14:30:00")

Result:

#datetime(2025, 12, 31, 14, 30, 0)

แปลงจาก Date
DateTime.From(#date(2025, 1, 1))
แปลงวันที่เป็น DateTime โดยเวลาจะตั้งค่าเป็น 00:00:00 (เที่ยงคืน)
Power Query Formula:

=DateTime.From(#date(2025, 1, 1))

Result:

#datetime(2025, 1, 1, 0, 0, 0)

แปลงจาก Time
DateTime.From(#time(6, 45, 12))
แปลงเวลาเป็น DateTime โดยใช้วันที่เริ่มต้นของ OLE Automation Date (30/12/1899)
Power Query Formula:

=DateTime.From(#time(6, 45, 12))

Result:

#datetime(1899, 12, 30, 6, 45, 12)

แปลงจาก Number (OLE Automation Date)
DateTime.From(45291)
แปลงตัวเลข OLE Automation Date เป็น DateTime (45291 = 1/1/2024 00:00:00)
Power Query Formula:

=DateTime.From(45291)

Result:

#datetime(2024, 1, 1, 0, 0, 0)

แปลงด้วย Culture Parameter
DateTime.From("31/12/2025 14:30", "th-TH")
แปลงข้อความตามรูปแบบไทย (DD/MM/YYYY HH:MM) โดยระบุ culture="th-TH"
Power Query Formula:

=DateTime.From("31/12/2025 14:30", "th-TH")

Result:

#datetime(2025, 12, 31, 14, 30, 0)

ใช้ใน Power Query Transform
let Source = Table.FromRows({{"2025-12-31 14:30:00"}, {"2025-01-15 09:15:00"}}, {"DateText"}), Converted = Table.AddColumn(Source, "DateTime", each DateTime.Fro…
ใช้ DateTime.From กับ Table.AddColumn เพื่อแปลงคอลัมน์ทั้งหมด
Power Query Formula:

let
    Source = Table.FromRows({{"2025-12-31 14:30:00"}, {"2025-01-15 09:15:00"}}, {"DateText"}),
    Converted = Table.AddColumn(Source, "DateTime", each DateTime.From([DateText]))
in
    Converted

Result:

ตารางมี 2 คอลัมน์: DateText (Text) และ DateTime (DateTime type)

FAQs

DateTime.From แตกต่างจาก DateTime.FromText อย่างไร

DateTime.FromText รับเฉพาะ Text input, DateTime.From รับ Text, Date, Time, Number, DateTimeZone ได้ทั้งหมด คือ DateTime.From ยืดหยุ่นมากกว่า

ถ้า input เป็น null ผลลัพธ์จะเป็นอะไร

ผลลัพธ์จะเป็น null ด้วย ถ้าต้องการให้มีค่าเริ่มต้นให้ใช้ ?? operator เช่น DateTime.From([DateColumn]) ?? #datetime(1900, 1, 1, 0, 0, 0)

culture parameter ไม่ได้ระบุ Power Query จะใช้ culture ไหน

Power Query จะใช้ culture ของเครื่องที่รันอยู่ (system locale) ถ้าต้องให้ทำงานสอบ ที่ทุกเครื่องเหมือนกันแนะนำให้ระบุ culture เสมอ

แปลง DateTimeZone เป็น DateTime ได้ไหม

ได้ DateTime.From(#datetimezone(2025, 12, 31, 14, 30, 0, 7, 0)) จะแปลงเป็น DateTime เวลาท้องถิ่น (local time)

ถ้า input Text มีรูปแบบที่ DateTime.From ไม่รู้จักจะเป็นอะไร

จะ error: “Expression.Error: Could not convert to DateTime” วิธีแก้ คือ ทำความสะอาด Text ก่อนแปลง เช่น ลบ spaces หรือแปลงรูปแบบ

Resources & Related

Additional Notes

ฟังก์ชัน DateTime.From ใน Power Query M ใช้สำหรับแปลงค่าต่างๆ ให้เป็นข้อมูลชนิด DateTime (วันที่และเวลา)

เจ๋งตรงที่ DateTime.From รับค่าได้หลายชนิด – ไม่ว่าจะ Text, Date, Time, Number, หรือ DateTimeZone ก็แปลงเป็น DateTime ได้ทั้งหมด ผมชอบใช้ฟังก์ชันนี้เวลามี data source ที่บ้าน เอาวันเวลามาเป็นรูปแบบต่างๆ แล้วต้องแปลงให้เป็นแบบเดียวกัน

ส่วนตัวผม มักใช้กับ culture parameter เพื่อให้ Power Query เข้าใจรูปแบบข้อมูลภาษาต่างๆ เช่น “en-US” หรือ “th-TH” ทำให้แปลงข้อมูลถูกต้อง ขาดไม่ได้เวลาทำงานโปรเจกต์สากล 😎

Leave a Reply

Your email address will not be published. Required fields are marked *