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