Teraz, dnes, IsToday, UTCNow, UTCToday, IsUTCToday funkcie

Vzťahuje sa na: Aplikácie plátna Postupy v počítačovom prostredí Stĺpce Dataverse vzorcov Modelom riadené aplikácie Power Platform CLI

Vrátia aktuálny dátum a čas a otestujú, či hodnota dátumu času zodpovedá dnešku.

Poznámka

Príkazy PAC CLI pac power-fx nepodporujú funkcie UTCNow,UTCToday aIsUTCToday .

Description

Funkcia Now vráti aktuálny dátum a čas ako hodnotu dátumu a času.

Funkcia Today vráti aktuálny dátum ako hodnotu dátumu a času. Hranicou času je polnoc. Funkcia Today má v priebehu dňa rovnakú hodnotu, od polnoci na dnešok do polnoci na zajtrajšok.

Funkcia IsToday testuje, či sa hodnota dátumu a času nachádza medzi polnocou na dnešok a polnocou na zajtrajšok. Táto funkcia vráti booleovskú hodnotu (pravda alebo nepravda).

Funkcie Now, Today, and IsToday pracujú s miestnym časom aktuálneho používateľa.

Funkcie UTCNow, UTCToday a IsUTCToday sú rovnaké ako ich náprotivky mimo UTC, ale pracujú s hodnotami nezávislými od časového pásma a používajú koordinovaný svetový čas (UTC).

Poznámka

  • Funkcie UTCNow, UTCToday a IsUTCToday sú dostupné iba v stĺpcoch vzorcov Microsoft Dataverse for Teams a len pre časovo nezávislé polia a hodnoty.
  • Now, Today a IsToday nie sú dostupné v stĺpcoch vzorcov Dataverse for Teams, pretože vyhodnotenie sa vykonáva bez znalosti miestneho časového pásma aktuálneho používateľa.
    Viac informácií: Práca so stĺpcami tabuľky vzorcov v Dataverse for Teams

Ďalšie informácie nájdete aj v dokumentácii k typom údajov Date, Time a DateTime a Práca s dátumami a časmi.

Nestále funkcie

Funkcie Now, Today, UTCNow a UTCToday sú volatilné. Pri každom vyhodnotení vracajú tieto funkcie inú hodnotu.

Ak sa nestála funkcia použije vo vzorci toku údajov, vráti v rámci vzorca odlišnú hodnotu len vtedy, keď sa daný vzorec nanovo vyhodnotí. Ak sa vo vzorci nič iné nezmení, bude mať rovnakú hodnotu počas celého spracovania v aplikácii.

Ovládací prvok označenia s hodnotou Label1.Text = Now() sa napríklad nezmení, kým je aplikácia spustená. Nová hodnota sa zobrazí až po zavretí a opätovnom otvorení aplikácie.

Funkcia sa nanovo vyhodnotí, ak je súčasťou vzorca, v ktorom sa zmenila aj nejaká iná hodnota. Ak by sme povedzme zmenili náš príklad tak, aby zahŕňal ovládací prvok jazdca s hodnotou Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ), potom sa aktuálny čas načíta vždy, keď sa zmení hodnota ovládacieho prvku jazdca a vlastnosť textu označenia sa nanovo vyhodnotí.

Pri použití vo vzorci správania sa nestále funkcie vyhodnocujú pri každom vyhodnotení vzorca správania. Pozrite si príklad nižšie.

Syntax

Použitie miestneho časového pásma používateľa

Now()

Today()

IsTodayDateTime )

  • DateTime – povinné. Hodnota dátumu a času, ktorá sa má testovať.

Používanie koordinovaného svetového času (UTC)

UTCNow()

UTCToday()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime – povinné. Hodnota dátumu a času nezávislá od časového pásma na testovanie.

Príklady

V prípade príkladov v tejto časti je aktuálny čas 8:58 PM dňa 11. júla 2021 v tichomorskom časovom pásme (UTC-8) a jazyk je en-us.

Vzorec Description Result
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) Načíta aktuálny dátum a čas v časovom pásme používateľa a zobrazí ho ako reťazec. "07/11/2021 20:58:00"
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) Načíta iba aktuálny dátum a zobrazí ho ako reťazec, pričom ako hranica dňa sa ponechá polnoc. "07/12/2021 00:00:00"
IsToday( Now() ) Otestuje, či sa aktuálny dátum a čas nachádza medzi polnocou na dnešok a polnocou na zajtrajšok. pravda
IsToday( Today() ) Otestuje, či sa aktuálny dátum nachádza medzi polnocou na dnešok a polnocou na zajtrajšok. pravda
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Načíta aktuálny dátum a čas, k výsledku pripočíta 12 dní a zobrazí ho ako reťazec. "07/23/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Načíta aktuálny dátum, k výsledku pripočíta 12 dní a zobrazí ho ako reťazec. "07/23/2021 00:00:00"
IsToday( DateAdd( Now(), 12 ) ) Otestuje, či sa aktuálny dátum a čas plus 12 dní nachádza medzi polnocou na dnešok a polnocou na zajtrajšok. nepravda
IsToday( DateAdd( Today(), 12 ) ) Otestuje, či sa aktuálny dátum plus 12 dní nachádza medzi polnocou na dnešok a polnocou na zajtrajšok. false
Hour( UTCNow() ) Načíta aktuálny dátum a čas v UTC a extrahuje iba hodinu, čo je o 8 hodín viac ako miestny čas. 4
Day( UTCToday() ) Načíta aktuálny dátum iba vo formáte UTC a extrahuje deň, ktorý je 1 deň pred miestnym časom. 12
IsUTCToday( UTCNow() ) Otestuje, či sa aktuálny dátum a čas nachádza medzi polnocou na dnešok a polnocou na zajtrajšok, všetko v čase UTC. true
IsUTCToday( UTCToday() ) Otestuje, či sa aktuálny dátum nachádza medzi polnocou na dnešok a polnocou na zajtrajšok, všetko v čase UTC. true

Zobrazenie hodín, ktoré sa v reálnom čase aktualizujú

  1. Pridajte ovládací prvok Časovač, nastavte jeho vlastnosť Trvanie na hodnotu 1000 a jeho vlastnosť Opakovať na hodnotu pravda.

    Časovač sa spustí na jednu sekundu, potom sa automaticky spustí znova a tento vzorec sa opakuje.

  2. Vlastnosť OnTimerEnd ovládacieho prvku nastavte na tento vzorec:

    Set( CurrentTime, Now() )

    Vždy, keď sa časovač znova spustí (po každej sekunde), tento vzorec nastaví globálnu premennú CurrentTime na aktuálnu hodnotu funkcie Now.

    Obrazovka, ktorá obsahuje ovládací prvok časovača so vzorcom OnTimerEnd = Set(CurrentTime, Now()).

  3. Pridajte ovládací prvok Označenie a jeho vlastnosť Text nastavte na tento vzorec:

    Text( CurrentTime, LongTime24 )

    Pomocou funkcie Text môžete naformátovať dátum a čas ľubovoľným spôsobom, prípadne nastavte túto vlastnosť len na hodnotu CurrentTime, aby sa zobrazovali hodiny a minúty (nie sekundy).

    Obrazovka, ktorá obsahuje ovládací prvok označenia s vlastnosťou Text nastavenou na hodnotu Text( CurrentTime, LongTime24).

  4. Pozrite si ukážku aplikácie stlačením klávesu F5 a potom kliknutím alebo ťuknutím spustite časovač.

    Označenie nepretržite ukazuje aktuálny čas s presnosťou na sekundy.

    Štyri obrazovky, ktoré zobrazujú štyri hodnoty času (13:50:22, 13:50:45, 13:51:03 a 13:51:25).

  5. Nastavte vlastnosť AutoStart časovača na hodnotu pravda a vlastnosť Visible na hodnotu nepravda.

    Časovač je neviditeľný a spustí sa automaticky.

  6. Nastavte vlastnosť OnStart obrazovky tak, aby mala premenná CurrentTime platnú hodnotu, ako v tomto príklade:

    Set(CurrentTime, Now())

    Označenie sa zobrazí hneď, ako aplikácia sa spustí (kým v časovači uplynie celá sekunda).