Thep Excel

DateTime.Dateดึงส่วนวันที่จาก DateTime

ดึงเฉพาะส่วนวันที่ (Date) ออกจากค่า DateTime หรือ DateTimeZone โดยทิ้งเวลาไป

fx
=DateTime.Date(dateTime) as nullable date

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
dateTime DateTime/DateTimeZone/Date ค่า DateTime, DateTimeZone หรือ Date ที่ต้องการดึงส่วนวันที่ออกมา

Additional Notes

DateTime.Date เป็นฟังก์ชันที่ช่วยดึงเฉพาะส่วนวันที่ออกจากค่า DateTime หรือ DateTimeZone ให้ติดเหนี่ยว ใช้ดีเมื่อเราได้ค่า DateTime แบบเต็มตัว แต่ต้องการแค่วันที่โดยไม่มีเวลา

ที่เจ๋งคือ DateTime.Date ทำให้เราสามารถแยกข้อมูลออกมาเป็นส่วนๆ ได้ง่าย ไม่ว่าจะเป็นข้อมูล DateTime ที่มีเวลาที่แตกต่างกัน ทั้งหมดจะกลายเป็น Date ที่ง่ายต่อการจัดกลุ่มหรือเปรียบเทียบ

ส่วนตัวผม ใช้ DateTime.Date คู่กับ Table.TransformColumns เมื่อต้องการแปลงคอลัมน์ DateTime ทั้งหมดเป็น Date พอแล้วเวลาของมันหมดไป ข้อมูลจึงเหมาะสำหรับการ group by ตามวันที่มากขึ้น 😎

Examples

ดึงวันที่จาก DateTime พื้นฐานlet SampleDateTime = #datetime(2025, 5, 20, 14, 30, 45), ExtractedDate = DateTime.Date(SampleDateTime) in ExtractedDate

ฟังก์ชัน DateTime.Date ดึงส่วนวันที่ (2025-05-20) ออกจาก DateTime ที่มีเวลา (14:30:45) ผลลัพธ์คือ date ที่ไม่มีเวลา

fx
let
SampleDateTime = #datetime(2025, 5, 20, 14, 30, 45),
ExtractedDate = DateTime.Date(SampleDateTime)
in
ExtractedDate

ผลลัพธ์#date(2025, 5, 20)
ดึงวันที่จาก DateTimeZonelet TimezoneValue = #datetimezone(2025, 12, 31, 23, 59, 59, 8, 0), DateOnly = DateTime.Date(TimezoneValue) in DateOnly

ทำงานได้ดีกับ DateTimeZone เช่นกัน เมื่อมีค่าเขตเวลาปนมา DateTime.Date จะเอาแค่วันที่ส่วน ทิ้งเวลาและเขตเวลาไป

fx
let
TimezoneValue = #datetimezone(2025, 12, 31, 23, 59, 59, 8, 0),
DateOnly = DateTime.Date(TimezoneValue)
in
DateOnly

ผลลัพธ์#date(2025, 12, 31)
แปลงคอลัมน์ DateTime เป็น Date ในตารางlet SalesData = Table.FromRows( {{#datetime(2025, 1, 15, 9, 30, 0), 500}, {#datetime(2025, 1, 15, 14, 45, 0), 750}, {#datetime(2025, 1, 16, 10, 20, 0), 600}}, {…

ใช้ Table.TransformColumns คู่กับ DateTime.Date เพื่อแปลงคอลัมน์ DateTime เป็น Date ทั้งตาราง วิธีนี้สะดวกกว่าการแยกหรือแต่งตั้งคอลัมน์ใหม่ หรือจะใช้ each DateTime.Date([OrderDateTime]) ก็ได้เช่นกัน

fx
let
SalesData = Table.FromRows(
{{#datetime(2025, 1, 15, 9, 30, 0), 500}, {#datetime(2025, 1, 15, 14, 45, 0), 750}, {#datetime(2025, 1, 16, 10, 20, 0), 600}},
{"OrderDateTime", "Amount"}
),
ConvertToDate = Table.TransformColumns(SalesData, {"OrderDateTime", each DateTime.Date(_)})
in
ConvertToDate

ผลลัพธ์ตารางที่มี OrderDateTime เป็น Date แทน DateTime โดยยังคงค่า Amount ไว้เหมือนเดิม
จัดกลุ่มข้อมูลตามวันที่เมื่อมี DateTimelet TransactionLog = Table.FromRows( {{#datetime(2025, 3, 1, 8, 15, 0), "Sale", 1200}, {#datetime(2025, 3, 1, 15, 45, 0), "Return", 300}, {#datetime(2025, 3, 2,…

สถานการณ์จริงที่พบบ่อย: เรามี transaction log ที่มี timestamp ที่มีวินาที แต่ต้องการสรุปตามวันที่ DateTime.Date ช่วยดึงวันที่ออกมา จากนั้น group by ตามวันนั้นได้ถูกต้อง

fx
let
TransactionLog = Table.FromRows(
{{#datetime(2025, 3, 1, 8, 15, 0), "Sale", 1200}, {#datetime(2025, 3, 1, 15, 45, 0), "Return", 300}, {#datetime(2025, 3, 2, 10, 0, 0), "Sale", 1500}},
{"Timestamp", "Type", "Amount"}
),
AddDateColumn = Table.AddColumn(TransactionLog, "Date", each DateTime.Date([Timestamp])),
GroupByDate = Table.Group(AddDateColumn, {"Date"}, {{"TotalAmount", each List.Sum([Amount]), "Count", each Table.RowCount(_)}})
in
GroupByDate

ผลลัพธ์ตารางแสดง Date, TotalAmount และ Count โดยจัดกลุ่มตามวันที่

FAQs

DateTime.Date กับ Date.From ต่างกันอย่างไร?+

DateTime.Date ใช้สำหรับดึงส่วน Date จาก DateTime/DateTimeZone ส่วน Date.From เป็นฟังก์ชันแปลงประเภท (type conversion) ที่พยายามแปลง text หรือค่าอื่นๆ เป็น Date DateTime.Date ใช้ดีเมื่อข้อมูลเป็น DateTime อยู่แล้ว

ถ้าค่าที่ส่งมาเป็น null จะเกิดอะไร?+

DateTime.Date จะส่งคืน null นี่คือพฤติกรรมของฟังก์ชัน nullable ใน Power Query ถ้าต้องการจัดการ null ให้ใช้ Table.ReplaceValue หรือ if statement ในคำสั่ง each

ใช้ DateTime.Date ได้กับค่า Date ที่เป็นอยู่แล้วหรือไม่?+

ได้ ถ้าส่ง Date เข้าไป DateTime.Date จะคืน Date นั้นกลับมาเหมือนเดิม ไม่มีปัญหา

เวลาของ DateTime จะหายไปหรือเปลี่ยนหรือไม่?+

ไม่หายไป มันถูกแสดงออกมาเป็นส่วนหนึ่งของค่า DateTime เท่านั้น DateTime.Date แสดงแค่ส่วน Date ส่วนเวลายังอยู่ในค่า DateTime ดั้งเดิม ถ้าต้องดึงเวลาออกมาให้ใช้ DateTime.Time แทน

Resources & Related

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

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

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

DateTime.LocalNow

DateTime.LocalNow คืนค่า DateTime (วันที่ + เวลา) ปัจจุบันตามระบบ เทียบเท่า NOW() ใน Excel แต่ทำงานบน Power Query

DateTime.Time

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

Date functions (1)
Date.From

Date.From แปลงข้อมูลหลายรูปแบบ (ข้อความ ตัวเลข DateTime DateTimeZone) เป็นค่า date ที่สามารถใช้ในการคำนวณและจัดรูปแบบได้ รองรับการระบุ culture สำหรับการแปลงวันที่ localized

Comments

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