Thep Excel

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

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

=DateTime.LocalNow() as datetime

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
8/10

Difficulty
2/10

Usefulness
8/10

Syntax & Arguments

=DateTime.LocalNow() as datetime

How it works

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

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

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

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

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

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

Examples

ตัวอย่างที่ 1: ดึงวันเวลาปัจจุบัน
DateTime.LocalNow()
แสดงวันและเวลา ณ ขณะที่ Query กำลังทำงาน รูปแบบจะเป็น DateTime ค่า
Power Query Formula:

= DateTime.LocalNow()

Result:

30/11/2025 15:30:45

ตัวอย่างที่ 2: สกัดเฉพาะวันที่
DateTime.Date(DateTime.LocalNow())
ใช้ DateTime.Date เพื่อแยกเฉพาะส่วนวันที่ออก โดยตัดเวลาทิ้ง
Power Query Formula:

= DateTime.Date(DateTime.LocalNow())

Result:

30/11/2025

ตัวอย่างที่ 3: สกัดเฉพาะเวลา
DateTime.Time(DateTime.LocalNow())
ใช้ DateTime.Time เพื่อแยกเฉพาะส่วนเวลาออก (ชั่วโมง นาที วินาที)
Power Query Formula:

= DateTime.Time(DateTime.LocalNow())

Result:

15:30:45

ตัวอย่างที่ 4: สร้าง Last Refreshed Timestamp
let CurrentDateTime = DateTime.LocalNow(), FormattedTime = Text.From(CurrentDateTime, "en-US") in FormattedTime
แปลงเป็นข้อความเพื่อแสดงในตาราง หรือบันทึกเวลาอัปเดต ใช้ได้ทั่วไปและอ่านง่าย
Power Query Formula:

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

Result:

"11/30/2025 3:30:45 PM"

ตัวอย่างที่ 5: คำนวณระยะห่าง (ข้อมูลเก่ากี่วัน)
let LastRefresh = DateTime.LocalNow(), DataDate = #date(2025, 11, 20), DaysDifference = Duration.Days(LastRefresh - DataDate) in DaysDifference
เช็คว่าข้อมูลเก่ากี่วัน โดยลบวันที่ข้อมูลจากวันปัจจุบัน ใช้ได้ดีสำหรับการตรวจสอบความเป็นปัจจุบันของข้อมูล
Power Query Formula:

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

Result:

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

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

Leave a Reply

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