DateTime.LocalNow คืนค่า DateTime (วันที่ + เวลา) ปัจจุบันตามระบบ เทียบเท่า NOW() ใน Excel แต่ทำงานบน Power Query
=DateTime.LocalNow() as datetime
=DateTime.LocalNow() as datetime
เพิ่มคอลัมน์ที่ระบุว่าข้อมูลชุดนี้ถูกดึงมาเมื่อไหร่ เพื่อแสดงใน Report
นำเวลาปัจจุบันลบด้วยเวลาที่เกิดรายการ (Transaction Time) เพื่อดูว่าผ่านมานานแค่ไหนแล้ว
ใช้เปรียบเทียบเพื่อกรองเอาเฉพาะข้อมูลในช่วง 24 ชั่วโมงที่ผ่านมา
DateTime.LocalNow()= DateTime.LocalNow()
30/11/2025 15:30:45
DateTime.Date(DateTime.LocalNow())= DateTime.Date(DateTime.LocalNow())
30/11/2025
DateTime.Time(DateTime.LocalNow())= DateTime.Time(DateTime.LocalNow())
15:30:45
let CurrentDateTime = DateTime.LocalNow(), FormattedTime = Text.From(CurrentDateTime, "en-US") in FormattedTimelet
CurrentDateTime = DateTime.LocalNow(),
FormattedTime = Text.From(CurrentDateTime, "en-US")
in
FormattedTime
"11/30/2025 3:30:45 PM"
let LastRefresh = DateTime.LocalNow(), DataDate = #date(2025, 11, 20), DaysDifference = Duration.Days(LastRefresh - DataDate) in DaysDifferencelet
LastRefresh = DateTime.LocalNow(),
DataDate = #date(2025, 11, 20),
DaysDifference = Duration.Days(LastRefresh - DataDate)
in
DaysDifference
10
DateTime.LocalNow มีโอกาสเปลี่ยนค่าไปเรื่อยๆ ระหว่างที่ Query ทำงาน (ถ้า Query รันนาน) แต่ DateTime.FixedLocalNow จะตรึงค่าเดิมไว้ตลอดการทำงานของ Query นั้น ส่วนตัวผมใช้ FixedLocalNow มากกว่าเพื่อให้ Consistent ครับ
ไม่ครับ บน Cloud มักจะเป็นเวลา UTC เสมอ ถ้าต้องการเวลาไทยต้องใช้ DateTime.AddZone หรือบวกเวลาเพิ่มเอง (+7 ชั่วโมง) สำคัญคือเตรียมตัวไว้ตั้งแต่เขียน Query
บน Desktop ขอบคุณ LocalNow ถ้า Query รันเร็ว ความแตกต่างไม่มาก แต่ FixedLocalNow ปลอดภัยกว่า บน Cloud ต้อง FixedLocalNow แน่นอน
ได้ครับ แต่ต้องระวังว่าทุกแถวจะได้เวลาตรวจสอบเดียวกัน (หรือใกล้เคียง) ถ้าต้องการ Unique Timestamp ต่อแถวต้องใช้เทคนิคอื่นเพิ่มเติม
ฟังก์ชัน DateTime.LocalNow ใช้สำหรับดึงค่าวันที่และเวลาปัจจุบัน (Current Date & Time) ตามเวลาของเครื่องคอมพิวเตอร์ที่รัน Power Query มักใช้เพื่อบันทึกเวลาที่รีเฟรชข้อมูล (Last Refreshed) หรือสร้าง Timestamp ของการโหลดข้อมูล
สิ่งที่เจ๋งคือ DateTime.LocalNow มีความยืดหยุ่นในการเชื่อมต่อกับฟังก์ชัน DateTime อื่นๆ เช่น DateTime.Date เพื่อสกัดแค่วันที่ หรือ DateTime.Time เพื่อสกัดแค่เวลา
ส่วนตัวผม มักใช้ DateTime.LocalNow คู่กับ Duration.Days เพื่อเช็คว่าข้อมูลเก่ากี่วัน หรือคู่กับตัวอักษร Text.From เพื่อสร้าง Log Message ของการรีเฟรช ทำให้ดูแลข้อมูลได้ง่ายขึ้นเยอะครับ