共用方式為


Now、Today、IsToday、UTCNow、UTCToday 和 IsUTCToday 函式

適用於: 畫布應用 桌面流 Dataverse 公式列 模型驅動應用 Power Pages Power Platform CLI

傳回目前的日期和時間,並測試日期/時間值是否為今天。

注意

PAC CLI pac power-fx 命令 不支援 UTCNowUTCTodayIsUTCToday 函數。

Description

Now 函式會傳回目前的日期和時間來作為日期/時間值。

Today 函式會傳回目前的日期來作為日期/時間值。 時間部分為午夜。 Today 在一天中 (從今天的午夜到明天的午夜) 具有相同的值。

IsToday 函式會測試日期/時間值是否在今天午夜和明天午夜之間。 此函式會傳回布林 (truefalse) 值。

NowTodayIsToday 函數使用當前使用者的本地時間。

UTCNowUTCTodayIsUTCToday 函數與非 UTC 函數相同,但使用與時區無關的值並使用協調世界時 (UTC)。

Note

  • UTCNowUTCTodayIsUTCToday 僅在公式列中可用 Microsoft Dataverse for Teams ,並且僅適用於與時間無關的字段和值。
  • NowTodayIsToday 在 Dataverse for Teams 公式列中不可用,因為評估是在不知道當前使用者的本地時區的情況下完成的。
    其他資訊:在 Dataverse for Teams 中使用公式資料表資料行

如需其他資訊,請參閱資料類型文件中的 Date、Time 和 DateTime使用日期和時間

動態函式

現在今天UTCNowUTCToday 是易失函數。 這些函式會針對每個評估傳回不同的值。

在資料流公式中使用時,動態函式只會傳回重新評估出現公式時傳回不同的值。 如果公式中沒有其他變更,會在您應用程式執行過程中具有相同的值。

例如,具有 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 時間。

顯示即時更新的時鐘

  1. 新增 Timer 控制項,將其 Duration 屬性設定為 1000,並將其 Repeat 屬性設定為 True

    計時器將執行一秒鐘後自動重新開始,並繼續該模式。

  2. 將控制項的 OnTimerEnd 屬性設定為下列公式:

    Set (當前時間,Now())

    每當計時器重新開始時 (經過每一秒後),此公式會將 CurrentTime 全域變數設定為 Now 函式的目前值。

    包含公式 OnTimerEnd = Set(CurrentTime, Now()) 的計時器控制項的畫面。

  3. 新增 Label 控制項,並將其Text屬性設定為下列公式:

    文字(目前時間,LongTime24)

    使用 Text 函式依照您想要的方式格式化日期和時間,或僅將此屬性設定為 CurrentTime 以顯示小時和分鐘,但不顯示秒。

    包含標籤控制項且將文字屬性設定為 Text( CurrentTime, LongTime24) 的畫面。

  4. 按 F5 鍵預覽應用程式,然後點擊或點選計時器啟動它。

    標籤會持續顯示目前的時間,最詳細到秒。

    顯示四個時間值 (13: 50:22、13:50:45、13:51:03 和 13:51:25) 的四個畫面。

  5. 將計時器的 AutoStart 屬性設定為 true,並將其 Visible 屬性設定為 false

    無法看見計時器,且計時器會自動啟動。

  6. 設定畫面的 OnStart 屬性,以便 CurrentTime 變數內含有效值,如此範例所示:

    Set (當前時間,Now())

    只要應用程式一啟動便會顯示標籤 (在計時器執行完整的一秒鐘之前)。