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 函式會測試日期/時間值是否在今天午夜和明天午夜之間。 此函式會傳回布林 (true 或 false) 值。
Now、 Today 和 IsToday 函數使用當前使用者的本地時間。
UTCNow、 UTCToday 和 IsUTCToday 函數與非 UTC 函數相同,但使用與時區無關的值並使用協調世界時 (UTC)。
Note
- UTCNow、 UTCToday 和 IsUTCToday 僅在公式列中可用 Microsoft Dataverse for Teams ,並且僅適用於與時間無關的字段和值。
- Now、 Today 和 IsToday 在 Dataverse for Teams 公式列中不可用,因為評估是在不知道當前使用者的本地時區的情況下完成的。
其他資訊:在 Dataverse for Teams 中使用公式資料表資料行
如需其他資訊,請參閱資料類型文件中的 Date、Time 和 DateTime及使用日期和時間。
動態函式
現在、 今天、 UTCNow 和 UTCToday 是易失函數。 這些函式會針對每個評估傳回不同的值。
在資料流公式中使用時,動態函式只會傳回重新評估出現公式時傳回不同的值。 如果公式中沒有其他變更,會在您應用程式執行過程中具有相同的值。
例如,具有 Label1.Text = Now() 的標籤控制項在應用程式有效時不會變更。 只有關閉並重新開啟應用程式才會產生新的值。
如果函式在其他項目已變更的公式部分,將會重新評估。 比方說,如果我們變更範例,形成含有 Label1.Text = DateAdd( Now(), Slider1.Value, Minutes) 的 Slider 控制項,則每次 Slider 控制項值變更時都會擷取目前的時間,並重新評估標籤的文字屬性。
當用於 行為公式 時,動態函式會在每次評估行為公式時評估。 如需範例,請參閱下方內容。
語法
使用使用者的當地時間
現在()
今天()
IsToday( 日期時間 )
- DateTime - 必需。 要測試的日期/時間值。
使用國際標準時間 (UTC)
UTCNow()
UTCToday()
IsUTCToday( 時區獨立時間 )
- TimeZoneIndependentDateTime - 必需。 要測試的時區獨立日期/時間值。
範例
對於本節中的範例,目前時間是 2021 年 7 月 11 日下午 8:58 太平洋時區 (UTC-8),語言是en-us 。
公式 | 描述 | 結果 |
---|---|---|
文字 (Now(),“mm/dd/yyyy hh:mm:ss”) | 擷取使用者時區的目前日期和時間,並將它顯示為字串。 | "07/11/2021 20:58:00" |
文字 (Today(),“mm/dd/yyyy hh:mm:ss”) | 只擷取目前的日期,讓時間部分是午夜,並將它顯示為字串。 | "07/12/2021 00:00:00" |
IsToday (現在()) | 測試目前的日期和時間是否在今天午夜和明天午夜之間。 | 真 |
是今天(今天) | 測試目前的日期是否在今天午夜和明天午夜之間。 | 真 |
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 天,是否在今天午夜和明天午夜之間。 | 假 |
IsToday (DateAdd(Today(),12)) | 測試目前的日期加上 12 天,是否在今天午夜和明天午夜之間。 | 假 |
小時 (UTCNow()) | 擷取 UTC 的目前日期和時間並只擷取小時,即比本地時間早 8 小時。 | 4 |
天 (UTCToday()) | 擷取 UTC 的目前只有日期並只擷取日,即比本地時間早 1 天。 | 12 |
IsUTCToday (UTCNow()) | 測試目前的日期和時間是否在今天午夜和明天午夜之間,均採用 UTC 時間。 | 真 |
IsUTCToday (UTCToday()) | 測試目前的日期是否在今天午夜和明天午夜之間,均採用 UTC 時間。 | 真 |
顯示即時更新的時鐘
新增 Timer 控制項,將其 Duration 屬性設定為 1000,並將其 Repeat 屬性設定為 True。
計時器將執行一秒鐘後自動重新開始,並繼續該模式。
將控制項的 OnTimerEnd 屬性設定為下列公式:
Set (當前時間,Now())
每當計時器重新開始時 (經過每一秒後),此公式會將 CurrentTime 全域變數設定為 Now 函式的目前值。
新增 Label 控制項,並將其Text屬性設定為下列公式:
文字(目前時間,LongTime24)
使用 Text 函式依照您想要的方式格式化日期和時間,或僅將此屬性設定為 CurrentTime 以顯示小時和分鐘,但不顯示秒。
按 F5 鍵預覽應用程式,然後點擊或點選計時器啟動它。
標籤會持續顯示目前的時間,最詳細到秒。
將計時器的 AutoStart 屬性設定為 true,並將其 Visible 屬性設定為 false。
無法看見計時器,且計時器會自動啟動。
設定畫面的 OnStart 屬性,以便 CurrentTime 變數內含有效值,如此範例所示:
Set (當前時間,Now())
只要應用程式一啟動便會顯示標籤 (在計時器執行完整的一秒鐘之前)。