ฟังก์ชัน Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday
ใช้กับ: แอปพื้นที่ทำงาน โฟลว์เดสก์ท็อป Dataverse คอลัมน์สูตร แอปแบบจำลอง Power Pages 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 | จริง |
แสดงนาฬิกาที่ปรับปรุงแบบเรียลไทม์
เพิ่มตัวควบคุม ตัวจับเวลา ตั้งค่าคุณสมบัติ Duration เป็น 1000 และตั้งค่าคุณสมบัติ Repeat เป็น จริง
ตัวจับเวลาจะรันหนึ่งวินาที เริ่มต้นใหม่โดยอัตโนมัติ และดำเนินการในรูปแบบเดิม
ตั้งค่าของตัวควบคุมคุณสมบัติของ OnTimerEnd เป็นสูตรนี้:
Set( CurrentTime, Now() )
เมื่อใดก็ตามที่ตัวจับเวลาเริ่มต้นใหม่ (หลังจากแต่ละวินาที) สูตรนี้จะตั้งตัวแปรส่วนกลางของ CurrentTime ให้เป็นค่าปัจจุบันของฟังก์ชัน Now
เพิ่มตัวควบคุม ป้ายชื่อ แล้วตั้งค่าคุณสมบัติ Text เป็นสูตรนี้:
Text( CurrentTime, LongTime24 )
ใช้ฟังก์ชัน Text เพื่อจัดรูปแบบวันและเวลาอย่างที่คุณต้องการ หรือตั้งค่าคุณสมบัตินี้เป็นเพียงแค่ CurrentTime เพื่อแสดงชั่วโมง และนาที แต่ไม่แสดงวินาที
แสดงตัวอย่างแอป โดยการกด F5 จากนั้น เริ่มตัวจับเวลา โดยการคลิกหรือแตะ
ป้ายกำกับแสดงเวลาปัจจุบัน ในระดับวินาที
ตั้งค่าคุณสมบัติ AutoStart ของตัวจับเวลา เป็น จริง และคุณสมบัติ Visible เป็น เท็จ
ตัวจับเวลาไม่สามารถมองเห็นและเริ่มโดยอัตโนมัติ
ตั้งค่าของหน้าจอคุณสมบัติ OnStart เพื่อให้ตัวแปร CurrentTime มีค่าที่ถูกต้อง ตามตัวอย่างนี้:
Set(CurrentTime, Now())
ป้ายกำกับปรากฏขึ้นทันทีที่แอปเริ่มต้น (ก่อนที่ตัวจับเวลาจะดำเนินการสำหรับวินาทีทั้งหมด)