Thep Excel

DateTime.LocalNowวันและเวลาปัจจุบันของเครื่อง

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

fx
=DateTime.LocalNow() as datetime

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

อัปเดต 3 December 2025

Syntax & Arguments

Additional Notes

ฟังก์ชัน 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 ของการรีเฟรช ทำให้ดูแลข้อมูลได้ง่ายขึ้นเยอะครับ

How it works

สร้าง Timestamp การรีเฟรช

เพิ่มคอลัมน์ที่ระบุว่าข้อมูลชุดนี้ถูกดึงมาเมื่อไหร่ เพื่อแสดงใน Report

คำนวณอายุข้อมูล (Data Age)

นำเวลาปัจจุบันลบด้วยเวลาที่เกิดรายการ (Transaction Time) เพื่อดูว่าผ่านมานานแค่ไหนแล้ว

กรองข้อมูลย้อนหลัง

ใช้เปรียบเทียบเพื่อกรองเอาเฉพาะข้อมูลในช่วง 24 ชั่วโมงที่ผ่านมา

Examples

ตัวอย่างที่ 1: ดึงวันเวลาปัจจุบันDateTime.LocalNow()

แสดงวันและเวลา ณ ขณะที่ Query กำลังทำงาน รูปแบบจะเป็น DateTime ค่า

fx
= DateTime.LocalNow()

ผลลัพธ์30/11/2025 15:30:45
ตัวอย่างที่ 2: สกัดเฉพาะวันที่DateTime.Date(DateTime.LocalNow())

ใช้ DateTime.Date เพื่อแยกเฉพาะส่วนวันที่ออก โดยตัดเวลาทิ้ง

fx
= DateTime.Date(DateTime.LocalNow())

ผลลัพธ์30/11/2025
ตัวอย่างที่ 3: สกัดเฉพาะเวลาDateTime.Time(DateTime.LocalNow())

ใช้ DateTime.Time เพื่อแยกเฉพาะส่วนเวลาออก (ชั่วโมง นาที วินาที)

fx
= DateTime.Time(DateTime.LocalNow())

ผลลัพธ์15:30:45
ตัวอย่างที่ 4: สร้าง Last Refreshed Timestamplet CurrentDateTime = DateTime.LocalNow(), FormattedTime = Text.From(CurrentDateTime, "en-US") in FormattedTime

แปลงเป็นข้อความเพื่อแสดงในตาราง หรือบันทึกเวลาอัปเดต ใช้ได้ทั่วไปและอ่านง่าย

fx
let
CurrentDateTime = DateTime.LocalNow(),
FormattedTime = Text.From(CurrentDateTime, "en-US")
in
FormattedTime

ผลลัพธ์"11/30/2025 3:30:45 PM"
ตัวอย่างที่ 5: คำนวณระยะห่าง (ข้อมูลเก่ากี่วัน)let LastRefresh = DateTime.LocalNow(), DataDate = #date(2025, 11, 20), DaysDifference = Duration.Days(LastRefresh – DataDate) in DaysDifference

เช็คว่าข้อมูลเก่ากี่วัน โดยลบวันที่ข้อมูลจากวันปัจจุบัน ใช้ได้ดีสำหรับการตรวจสอบความเป็นปัจจุบันของข้อมูล

fx
let
LastRefresh = DateTime.LocalNow(),
DataDate = #date(2025, 11, 20),
DaysDifference = Duration.Days(LastRefresh – DataDate)
in
DaysDifference

ผลลัพธ์10

FAQs

DateTime.LocalNow ต่างจาก DateTime.FixedLocalNow อย่างไร?+

DateTime.LocalNow มีโอกาสเปลี่ยนค่าไปเรื่อยๆ ระหว่างที่ Query ทำงาน (ถ้า Query รันนาน) แต่ DateTime.FixedLocalNow จะตรึงค่าเดิมไว้ตลอดการทำงานของ Query นั้น ส่วนตัวผมใช้ FixedLocalNow มากกว่าเพื่อให้ Consistent ครับ

บน Power BI Service จะเป็นเวลาไทยไหม?+

ไม่ครับ บน Cloud มักจะเป็นเวลา UTC เสมอ ถ้าต้องการเวลาไทยต้องใช้ DateTime.AddZone หรือบวกเวลาเพิ่มเอง (+7 ชั่วโมง) สำคัญคือเตรียมตัวไว้ตั้งแต่เขียน Query

ใช้ DateTime.LocalNow ใน Power BI Desktop ดีกว่าหรือ FixedLocalNow?+

บน Desktop ขอบคุณ LocalNow ถ้า Query รันเร็ว ความแตกต่างไม่มาก แต่ FixedLocalNow ปลอดภัยกว่า บน Cloud ต้อง FixedLocalNow แน่นอน

จะใช้ DateTime.LocalNow ใน Table.AddColumn ได้ไหม?+

ได้ครับ แต่ต้องระวังว่าทุกแถวจะได้เวลาตรวจสอบเดียวกัน (หรือใกล้เคียง) ถ้าต้องการ Unique Timestamp ต่อแถวต้องใช้เทคนิคอื่นเพิ่มเติม

Resources & Related

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

ฟังก์ชันนี้DateTime.LocalNowDateTime functions
DateTime functions (3)
DateTime.Date

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

DateTime.FixedLocalNow

คืนค่าวันและเวลาปัจจุบัน (Local) โดยค่าจะคงที่ตลอดการทำงานของ Query (ไม่เปลี่ยนไปเรื่อยๆ)

DateTime.Time

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

Date functions (1)
Date.QuarterOfYear

คืนค่าไตรมาสของปี (1-4) จากวันที่ที่กำหนด ใช้สำหรับการวิเคราะห์ข้อมูลรายไตรมาส

DateTimeZone functions (1)
DateTimeZone.LocalNow

DateTimeZone.LocalNow ส่งกลับวันและเวลาปัจจุบันของระบบพร้อมข้อมูลเขตเวลาท้องถิ่น ใช้สำหรับสร้าง Timestamp ที่รับรู้เขตเวลา

Comments

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