ฟังก์ชัน Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday

ใช้กับ: แอปพื้นที่ทำงาน โฟลว์เดสก์ท็อป คอลัมน์สูตร Dataverse แอปแบบจำลอง Power Platform CLI

ส่งกลับวันที่และเวลาปัจจุบัน และทดสอบว่าค่าวันที่/เวลา เป็นวันนี้หรือไม่

หมายเหตุ

คำสั่ง PAC CLI pac power-fx ไม่รองรับฟังก์ชัน UTCNow, UTCToday, และ IsUTCToday

Description

ฟังก์ชัน Now ส่งกลับวันที่และเวลาปัจจุบันเป็นค่าวันที่/เวลา

ฟังก์ชัน Today ส่งกลับวันที่ปัจจุบันเป็นค่าวันที่/เวลา ส่วนเวลาคือ เที่ยงคืน Today มีค่าเดียวกันตลอดทั้งวัน จากเที่ยงคืนวันนี้ถึงเที่ยงคืนวันพรุ่งนี้

ฟังก์ชัน IsToday ทดสอบว่าค่าวันที่/เวลา อยู่ระหว่างเที่ยงคืนวันนี้ถึงเที่ยงคืนวันพรุ่งนี้หรือไม่ ฟังก์ชันนี้ส่งกลับเป็นค่าบูลีน (จริง หรือ เท็จ)

ฟังก์ชัน Now, Today และ IsToday ทำงานกับเวลาท้องถิ่นของผู้ใช้ปัจจุบัน

ฟังก์ชัน UTCNow, UTCToday และ IsUTCToday เหมือนกับส่วนอื่นๆ ที่ไม่ใช่ UTC แต่ทำงานกับค่าที่ไม่อิงกับโซนเวลาและใช้เวลามาตรฐานสากล (UTC)

หมายเหตุ

  • UTCNow, UTCToday และ IsUTCToday สามารถใช้ได้ในคอลัมน์สูตรของ Microsoft Dataverse for Teams และเฉพาะฟิลด์และค่าที่ไม่อิงกับเวลาเท่านั้น
  • Now, Today และ IsToday ไม่สามารถใช้ในคอลัมน์สูตรของ Dataverse for Teams เมื่อมีการประเมินโดยไม่ทราบโซนเวลาท้องถิ่นของผู้ใช้ปัจจุบัน
    ข้อมูลเพิ่มเติม: ทำงานกับคอลัมน์ของตารางสูตรใน Dataverse for Teams

ดูที่ วันที่, เวลา และวันที่เวลาในเอกสารชนิดข้อมูล และ การทำงานกับวันที่และเวลา สำหรับข้อมูลเพิ่มเติม

ฟังก์ชันที่เปลี่ยนแปลงได้

ฟังก์ชัน Now, Today, UTCNow และ UTCToday เป็นฟังก์ชันที่เปลี่ยนแปลงได้ ฟังก์ชันเหล่านี้จะส่งคืนค่าที่แตกต่างกันสำหรับการประเมินแต่ละครั้ง

เมื่อใช้ในสูตรกระแสข้อมูล ฟังก์ชันที่เปลี่ยนแปลงได้จะส่งค่าที่แตกต่างกันกลับมาเท่านั้น หากมีการประเมินสูตรที่ปรากฏอีกครั้ง ถ้าไม่มีสิ่งใดเปลี่ยนแปลงในสูตรดังกล่าวจะมีค่าเดียวกันตลอดการดำเนินการของแอปของคุณ

ตัวอย่างเช่น ตัวควบคุมป้ายชื่อ Label1.Text = Now() จะไม่เปลี่ยนแปลงในขณะที่แอปของคุณทำงานอยู่ การปิดและเปิดแอปอีกครั้งเท่านั้น ที่จะส่งผลให้เป็นค่าใหม่

จะมีการประเมินฟังก์ชันใหม่ หากเป็นส่วนหนึ่งของสูตรที่มีการเปลี่ยนแปลงบางอย่าง ตัวอย่างเช่น ถ้าเราเปลี่ยนตัวอย่างของเราเพื่อเกี่ยวข้องกับตัวควบคุมแถบเลื่อน Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ) ดังนั้นจะมีการดึงข้อมูลเวลาปัจจุบันทุกครั้งที่เปลี่ยนแปลงค่าของตัวควบคุมแถบเลื่อนและคุณสมบัติข้อความของป้ายชื่อเป็น reevaluated

เมื่อใช้ใน สูตรลักษณะการทำงาน ฟังก์ชันที่เปลี่ยนแปลงได้จะถูกประเมินแต่ละครั้งที่มีการประเมินสูตรลักษณะการทำงาน ดูด้านล่างสำหรับตัวอย่าง

ไวยากรณ์

การใช้เวลาท้องถิ่นของผู้ใช้

Now()

Today()

IsToday( วันที่เวลา )

  • วันที่เวลา - จำเป็นต้องมี ค่าวันที่/เวลาที่จะทดสอบ

การใช้เวลามาตรฐานสากล (UTC)

UTCNow()

UTCToday()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime - จำเป็นต้องมี ค่าวันที่/เวลาที่ไม่ผูกกับเขตเวลาที่จะทดสอบ

ตัวอย่าง

สำหรับตัวอย่างในส่วนนี้ เวลาปัจจุบันคือ 8:58 PM ใน วันที่ 11 กรกฏาคม 2021 ในโซนเวลาแปซิฟิก (UTC-8) และภาษาคือ en-us

สูตร คำอธิบาย ผลลัพธ์
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) ดึงข้อมูลวันที่และเวลาปัจจุบันในโซนเวลาของผู้ใช้ และแสดงเป็นสตริง "07/11/2021 20:58:00"
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) ดึงข้อมูลวันที่ปัจจุบันเท่านั้น ปล่อยให้ส่วนเวลาเป็นเที่ยงคืน และแสดงเป็นสตริง "07/12/2021 00:00:00"
IsToday( Now() ) ทดสอบว่า วันที่และเวลาปัจจุบัน อยู่ระหว่างเที่ยงคืนวันนี้ถึงเที่ยงคืนวันพรุ่งนี้หรือไม่ true
IsToday( Today() ) ทดสอบว่าวันที่ปัจจุบัน อยู่ระหว่างเที่ยงคืนวันนี้ถึงเที่ยงคืนวันพรุ่งนี้หรือไม่ true
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) ดึงข้อมูลวันที่และเวลาปัจจุบัน แล้วบวกเพิ่ม 12 วันไปยังผลลัพธ์ และแสดงเป็นสตริง "07/23/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) ดึงข้อมูลวันที่ปัจจุบัน แล้วบวกเพิ่ม 12 วันไปยังผลลัพธ์ และแสดงเป็นสตริง "07/23/2021 00:00:00"
IsToday( DateAdd( Now(), 12 ) ) ทดสอบว่า วันที่และเวลาปัจจุบันหลังจากบวกเพิ่ม 12 วันแล้ว อยู่ระหว่างเที่ยงคืนวันนี้ถึงเที่ยงคืนวันพรุ่งนี้หรือไม่ false
IsToday( DateAdd( Today(), 12 ) ) ทดสอบว่า วันที่ปัจจุบันหลังจากบวกเพิ่ม 12 วันแล้ว อยู่ระหว่างเที่ยงคืนวันนี้ถึงเที่ยงคืนวันพรุ่งนี้หรือไม่ เท็จ
Hour( UTCNow() ) ดึงข้อมูลวันที่และเวลาปัจจุบันใน UTC และแยกเฉพาะชั่วโมง ซึ่งเร็วกว่าเวลาท้องถิ่น 8 ชั่วโมง 4
Day( UTCToday() ) ดึงข้อมูลเฉพาะวันที่ใน UTC และแยกเฉพาะวัน ซึ่งเร็วกว่าเวลาท้องถิ่น 1 วัน 12
IsUTCToday( UTCNow() ) ทดสอบว่า วันที่และเวลาปัจจุบัน อยู่ระหว่างเที่ยงคืนวันนี้ถึงเที่ยงคืนวันพรุ่งนี้หรือไม่ ทั้งหมดอยู่ในเวลา UTC จริง
IsUTCToday( UTCToday() ) ทดสอบว่าวันที่ปัจจุบันอยู่ระหว่างเที่ยงคืนวันนี้ถึงเที่ยงคืนวันพรุ่งนี้หรือไม่ ทั้งหมดอยู่ในเวลา UTC จริง

แสดงนาฬิกาที่ปรับปรุงแบบเรียลไทม์

  1. เพิ่มตัวควบคุม ตัวจับเวลา ตั้งค่าคุณสมบัติ Duration เป็น 1000 และตั้งค่าคุณสมบัติ Repeat เป็น จริง

    ตัวจับเวลาจะรันหนึ่งวินาที เริ่มต้นใหม่โดยอัตโนมัติ และดำเนินการในรูปแบบเดิม

  2. ตั้งค่าของตัวควบคุมคุณสมบัติของ OnTimerEnd เป็นสูตรนี้:

    Set( CurrentTime, Now() )

    เมื่อใดก็ตามที่ตัวจับเวลาเริ่มต้นใหม่ (หลังจากแต่ละวินาที) สูตรนี้จะตั้งตัวแปรส่วนกลางของ CurrentTime ให้เป็นค่าปัจจุบันของฟังก์ชัน Now

    หน้าจอที่ประกอบด้วยตัวควบคุมตัวจับเวลา ที่มีสูตร OnTimerEnd = Set(CurrentTime, Now())

  3. เพิ่มตัวควบคุม ป้ายชื่อ แล้วตั้งค่าคุณสมบัติ Text เป็นสูตรนี้:

    Text( CurrentTime, LongTime24 )

    ใช้ฟังก์ชัน Text เพื่อจัดรูปแบบวันและเวลาอย่างที่คุณต้องการ หรือตั้งค่าคุณสมบัตินี้เป็นเพียงแค่ CurrentTime เพื่อแสดงชั่วโมง และนาที แต่ไม่แสดงวินาที

    หน้าจอที่ประกอบด้วยตัวควบคุมป้ายชื่อกับคุณสมบัติ Text ตั้งค่าเป็น Text( CurrentTime, LongTime24)

  4. แสดงตัวอย่างแอป โดยการกด F5 จากนั้น เริ่มตัวจับเวลา โดยการคลิกหรือแตะ

    ป้ายกำกับแสดงเวลาปัจจุบัน ในระดับวินาที

    สี่หน้าจอที่แสดงค่าของเวลาสี่ค่า (13:50:22, 13:50:45, 13:51:03 และ 13:51:25)

  5. ตั้งค่าคุณสมบัติ AutoStart ของตัวจับเวลา เป็น จริง และคุณสมบัติ Visible เป็น เท็จ

    ตัวจับเวลาไม่สามารถมองเห็นและเริ่มโดยอัตโนมัติ

  6. ตั้งค่าของหน้าจอคุณสมบัติ OnStart เพื่อให้ตัวแปร CurrentTime มีค่าที่ถูกต้อง ตามตัวอย่างนี้:

    Set(CurrentTime, Now())

    ป้ายกำกับปรากฏขึ้นทันทีที่แอปเริ่มต้น (ก่อนที่ตัวจับเวลาจะดำเนินการสำหรับวินาทีทั้งหมด)