Zdieľať cez


Funkcie Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday

Vzťahuje sa na: aplikácie plátna toky na počítači Dataverse stĺpce vzorcov aplikácie s podporou modelu Power Pages 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ú UTCNow, UTCToday, a IsUTCToday funkcie.

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. Dnešok má rovnakú hodnotu počas celého dňa, od dnešnej polnoci do zajtrajšej polnoci.

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, Dnes a Je dnes pracujú s miestnym časom aktuálneho užívateľ.

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

Poznámka

  • UTCNow, UTCToday a IsUTCToday sú dostupné iba v Microsoft Dataverse for Teams stĺpce vzorcov a len pre časovo nezávislé polia a hodnoty.
  • Teraz, Today a IsToday nie sú dostupné v Dataverse for Teams stĺpce vzorcov, pretože hodnotenia sa vykonávajú 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

Teraz, Dnes, UTCNow a UTCTaday sú nestále funkcie. 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

Teraz()

Dnes()

IsToday( Dátum a čas )

  • 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, ktorá sa má testovať.

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/rrrr 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( Dnes(), "mm/dd/rrrr 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. falošný
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. falošný
Hodina (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
Deň (UTTCaday() ) Načíta aktuálny dátum iba v UTC a extrahuje deň, ktorý je o 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. pravda
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. pravda

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:

    Nastaviť( Aktuálny čas, Teraz() )

    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 (aktuálny čas, dlhý čas24)

    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:

    Nastaviť(aktuálny čas, teraz())

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