Funcțiile Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday

Se aplică la: Aplicații proiectate pe pânză Fluxuri desktop Coloane Dataverse de formule Aplicații Power Platform proiectate pe bază de model CLI

Returnează data și ora curente și testează dacă există o dată/o oră.

Notă

Comenzile PAC CLI pac power-fx nu acceptă funcțiile UTCNow, UTCToday șiIsUTCToday .

Descriere

Funcția Now returnează data și ora curente ca valoare dată/oră.

Funcția Today returnează data și ora curente ca valoare dată/oră. Porțiunea de timp este miezul nopții. Today are aceeași valoare pe parcursul unei zile, de la miezul nopții astăzi până la miezul nopții.

Funcția IsToday testează dacă o valoare dată/oră este între miezul zilei de azi și mâine miezul nopții. Această funcție returnează o valoare booleană (true sau false).

Funcțiile Now, Today, and IsToday funcționează cu ora locală a utilizatorului curent.

Funcțiile UTCNow, UTCToday și IsUTCToday sunt aceleași cu omologii lor non-UTC, dar funcționează cu valori independente de fusul orar și utilizează ora universală coordonată (UTC).

Notă

  • UTCNow, UTCToday și IsUTCToday sunt disponibile doar în colanele formulei Microsoft Dataverse for Teams și numai pentru câmpuri și valori independente de timp.
  • Now, Today, and IsToday sunt disponibile doar în colanele formulei Dataverse for Teams întrucât evaluările se fac fără cunoștința fusului orar local al utilizatorului curent.
    Mai multe informații: Lucrul cu coloane de tabel cu formule în Dataverse for Teams

Vedeți Date, Time și DateTime în documentația tipurilor de date și lucrând cu datele și orele pentru mai multe informații.

Funcții volatile

Now, Today, UTCNow, and UTCToday sunt funcții volatile. Aceste funcții returnează o valoare diferită pentru fiecare evaluare.

Când este utilizată într-o formulă de flux de date, o funcție volatilă va returna doar o valoare diferită numai dacă formula în care apare este reevaluată. Dacă nu se schimbă nimic în formulă, atunci aceasta va avea aceeași valoare pe toată durata execuției aplicației.

De exemplu, un control de etichetă cu Label1.Text = Now() nu se va schimba în timp ce aplicația dvs. este activă. Doar închiderea și redeschiderea aplicației va avea ca rezultat o valoare nouă.

Funcția va fi reevaluată dacă face parte dintr-o formulă în care s-a modificat altceva. De exemplu, dacă ne schimbăm exemplul pentru a implica un control cu glisorul Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ) atunci ora curentă este preluată de fiecare dată când se modifică valoarea controlului glisorului și se reevaluează proprietatea textului etichetei.

Când este utilizat într-o formulă comportamentală, GUID va fi evaluată de fiecare dată când formula comportamentală este evaluată. Vedeți mai jos un exemplu.

Sintaxă

Folosind ora locală a utilizatorului

Now()

Today()

IsToday( DateTime )

  • DateTime - Obligatoriu. Valoare dată/oră de testat.

Utilizarea orei universale coordonate (UTC)

UTCNow()

UTCToday()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime - Obligatoriu. Valoarea dată/oră independentă de fusul orar de testat.

Exemple

Pentru exemplele din această secțiune, ora curentă este 20:58 pe 11 iulie 2021 în Fus orar al Pacificului (UTC-8), iar limba este en-us.

Formula Descriere Rezultat
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) Preia data și ora curente din fusul orar al utilizatorului și le afișează ca șir. "07/11/2021 20:58:00"
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) Preia doar data curentă, lăsând porțiunea de timp ca miezul nopții și o afișează ca șir. "07/12/2021 00:00:00"
IsToday( Now() ) Testează dacă data și ora sunt între azi, miezul zilei, și mâine, miezul nopții. true
IsToday (Today ()) Testează dacă data curentă este între azi, miezul zilei, și mâine, miezul nopții. true
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Preia data și ora curente, adaugă 12 zile la rezultat și le afișează ca un șir. "07/23/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Preia data și ora curente, adaugă 12 zile la rezultat și le afișează ca un șir. "07/23/2021 00:00:00"
IsToday( DateAdd( Now(), 12 ) ) Testează dacă data și ora curentă, plus 12 zile, sunt între miezul nopții astăzi și miezul nopții, mâine. false
IsToday( DateAdd( Today(), 12 ) ) Testează dacă data curentă, plus 12 zile, este între azi, miezul nopții, și mâine, miezul nopții. false
Hour( UTCNow() ) Preia data și ora curentă în UTC și extrage numai ora, care este cu 8 ore înainte de ora locală. 4
Day( UTCToday() ) Preia data curentă numai în UTC și extrage ziua, care este cu 1 zi înainte de ora locală. 12
IsUTCToday( UTCNow() ) Testează dacă data și ora sunt între azi, miezul zilei, și mâine, miezul nopții, tot în UTC. true
IsUTCToday( UTCToday() ) Testează dacă data și ora sunt între azi, miezul zilei, și mâine, miezul nopții, tot în UTC. true

Afișați un ceas care se actualizează în timp real

  1. Adăugați un control Temporizator, setați proprietatea Durată la 1000 și setați proprietatea Repetare la true.

    Cronometrul va rula o secundă, se va porni automat din nou și va continua modelul respectiv.

  2. Setați proprietatea OnTimerEnd a controlului la această formulă:

    Set( CurrentTime, Now() )

    Ori de câte ori cronometrul începe (după fiecare secundă), această formulă stabilește variabilă globală Ora curentă la valoarea curentă a funcției Now.

    Ecran care conține un control cronometru cu formula OnTimerEnd = Set (CurrentTime, Now()).

  3. Adăugați un control Label și setați proprietatea Text la această formulă:

    Text( CurrentTime, LongTime24 )

    Folosiți funcția Text pentru a formata data și ora cum doriți sau setați această proprietate doar la CurrentTime ca să arate ore și minute, dar nu secunde.

    Ecran care conține un control de etichetă cu proprietatea Text setată la Text( CurrentTime, LongTime24).

  4. Previzualizați aplicația apăsând F5, apoi porniți cronometrul făcând clic sau atingând-o.

    Eticheta arată continuu ora curentă, până la a doua.

    Patru ecrane care arată patru valori de timp (13:50:22, 13:50:45, 13: 51: 03 și 13:51:25).

  5. Setați proprietatea cronometrului Pornire automată la Adevărat și proprietatea Vizibil la false.

    Cronometrul este invizibil și pornește automat.

  6. Setați proprietatea ecranului OnStart astfel încât variabila Ora curentă are o valoare valabilă, ca în acest exemplu:

    Set( CurrentTime, Now() )

    Eticheta apare imediat ce începe aplicația (înainte ca cronometrul să ruleze o secundă completă).