Now、、TodayIsToday、UTCNow、、 IsUTCTodayUTCToday函数

Functions 适用于
Now 画布应用 Copilot Studio Desktop 流 Dataverse 公式列 模型驱动应用 Power Platform CLI Dataverse 函数 Power Pages
Today
IsToday
画布应用 Copilot Studio Desktop 流 模型驱动应用 Power Platform CLI Dataverse 函数 Power Pages
UTCNow
UTCToday
Dataverse 公式列 Power Pages

返回当前日期和时间,以及测试某个日期/时间值是否为今天。

备注

PAC CLI pac power-fx 命令不支持UTCNowUTCTodayIsUTCToday函数。

描述

Now 函数将当前日期和时间作为日期/时间值返回。

Today 函数将当前日期作为日期/时间值返回。 时间部分为午夜。 Today 一天中的值相同,从今天午夜到明天午夜。

IsToday 函数测试日期/时间值是否介于今天午夜和明天午夜之间。 此函数返回布尔(truefalse)值。

NowTodayIsToday函数使用当前用户的本地时间。

UTCNowUTCTodayIsUTCToday 函数与其非 UTC 对应项相同,但使用时区独立值并使用协调世界时(UTC)。

备注

  • UTCNowUTCTodayIsUTCToday 仅在 Microsoft Dataverse for Teams 公式列中使用,并且仅适用于与时间无关的字段和值。
  • NowTodayIsToday 在 Dataverse 中对 Teams 公式列不可用,因为评估是在不知道当前用户的本地时区的情况下完成的。
    详细信息:使用 Dataverse for Teams 中的公式表列

有关详细信息,请参阅数据类型文档中的日期、时间和日期/时间使用日期和时间

易失函数

NowTodayUTCNowUTCToday 可变函数。 每次计算时,这些函数会返回不同的值。

在数据流公式中使用易失函数时,如果对含有该函数的公式进行重新计算,该函数会返回不同的值。 如果公式中没有任何其他更改,在应用执行期间,它会具有相同的值。

例如,具有 Label1.Text = Now() 的标签控件在应用处于活动状态时不会更改。 只有关闭和重新打开应用会得到新值。

如果包含该函数的公式的其他内容发生了任何更改,会导致该函数进行重新计算。 例如,如果我们将示例更改为涉及 Label1.Text = DateAdd()、 NowSlider1.Value、Minutes) 的滑块控件,则每次滑块控件的值更改和标签的文本属性重新计算时,都会检索当前时间。

如果在行为公式中使用易失函数,则每当计算该公式时,也会计算该函数。 请参阅下文查看示例。

语法

使用用户的本地时间

Now()

Today()

IsToday日期时间

  • DateTime - 必需。 要测试的日期/时间值。

使用协调世界时 (UTC)

UTCNow()

UTCToday()

IsUTCTodayTimeZoneIndependentTime

  • 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( Now) 测试当前日期和时间是否介于今天午夜和明天午夜之间。
IsToday( Today) 测试当前日期是否介于今天午夜和明天午夜之间。
文本(DateAdd(, Now12),“mm/dd/yyyy hh:mm:ss” ) 检索当前日期和时间,在结果基础上加 12 天,并将其显示为字符串。 "07/23/2021 20:58:00"
文本(DateAdd(, Today12),“mm/dd/yyyy hh:mm:ss” ) 检索当前日期,在结果基础上加 12 天,并将其显示为字符串。 "07/23/2021 00:00:00"
IsToday(DateAdd(), Now12 ) 测试当前日期和时间加 12 天是否介于今天午夜和明天午夜之间。
IsToday(DateAdd(), Today12 ) 测试当前日期加 12 天是否介于今天午夜和明天午夜之间。
小时( UTCNow) 检索 UTC 格式的当前日期和时间并仅提取小时,此小时比本地时间早 8 小时。 4
日( UTCToday) 仅检索 UTC 格式的当前日期并提取日,此日比本地时间早 1 天。 12
IsUTCToday( UTCNow) 测试当前日期和时间是否介于今天午夜和明天午夜之间(所有时间均为 UTC 时间)。
IsUTCToday( UTCToday) 测试当前日期是否介于今天午夜和明天午夜之间(所有时间均为 UTC 时间)。

显示一个会实时更新的时钟

  1. 添加一个 Timer 控件,将其 Duration 属性设置为 1000,并将其 Repeat 属性设置为 true

    计时器将运行一秒钟,然后自动重新开始,并持续该模式。

  2. 将该控件的 OnTimerEnd 属性设置为以下公式:

    Set(CurrentTime、 Now()

    每当计时器开始(每秒之后),此公式都会将 CurrentTime 全局变量设置为函数的 Now 当前值。

    包含公式为 OnTimerEnd = Set(CurrentTime, Now()的计时器控件的屏幕。

  3. 添加一个 Label 控件,然后将 Text 属性设置为以下公式:

    文本(当前时间,LongTime24)

    使用 Text 函数来设置所需的日期和时间格式,或将此属性设置为 CurrentTime 以显示小时和分钟值,但不显示秒。

    屏幕包含一个 Label  控件,其“文本”属性设置为 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(CurrentTime、 Now())

    标签会在应用启动时立即显示(在计时器运行完 1 秒之前)。