Partajați prin


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

Se aplică pentru: planșă de lucru aplicații Fluxuri desktop Dataverse coloane de formule Aplicații bazate pe model Power Pages Power Platform CLI

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

Notă

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

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. Astăzi are aceeași valoare pe parcursul unei zile, de la miezul nopții de azi până la miezul nopții de mâine.

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).

Acum funcțiile, Today și IsToday funcționează cu ora locală a curentului utilizator.

Funcțiile UTCNow, UTCToday și IsUTCToday sunt aceleași cu cele non-UTC omologii, dar lucrează cu valori independente de fus orar și utilizează Ora universală coordonată (UTC).

Notă

  • UTCNow, UTCToday și IsUTCToday sunt disponibile numai în Microsoft Dataverse for Teams a35>coloane cu formule și numai pentru câmpuri și valori independente de timp.
  • Acum, Today și IsToday nu sunt disponibile în Dataverse for Teams a42>formulele coloanelor ca evaluări se fac fără cunoștințele despre fusul 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

Acum, Astăzi, UTCAcum și UTCAzi 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

Acum()

Astăzi()

IsToday( DateTime )

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

Utilizarea timpului universal coordonat (UTC)

UTCAcum()

UTCAzi()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime - Obligatoriu. Valoarea dată/ora independentă de fus 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(Acum(), „mm/zz/aaaa 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(Azi(), „ll/zz/aaaa 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"
Este Azi(Acum()) Testează dacă data și ora sunt între azi, miezul zilei, și mâine, miezul nopții. adevărat
Este astăzi(Azi()) Testează dacă data curentă este între azi, miezul zilei, și mâine, miezul nopții. adevărat
Text( DataAdd(Acum(), 12), „ll/zz/aaaa 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( DataAdd(Azi(), 12 ), „ll/zz/aaaa 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( DataAdd( Acum(), 12 ) ) Testează dacă data și ora curentă, plus 12 zile, sunt între miezul nopții astăzi și miezul nopții, mâine. fals
IsToday( DataAdd(Azi(), 12 ) ) Testează dacă data curentă, plus 12 zile, este între azi, miezul nopții, și mâine, miezul nopții. fals
Ora(UTCAcum()) Preia data și ora curentă în UTC și extrage numai ora, care este cu 8 ore înainte de ora locală. 4
Ziua(UTCAstăzi()) Preia data curentă numai în UTC și extrage ziua, care este cu 1 zi înaintea orei locale. 12
IsUTCToday( UTCNow() ) Testează dacă data și ora sunt între azi, miezul zilei, și mâine, miezul nopții, tot în UTC. adevărat
IsUTCToday(UTCToday()) Testează dacă data și ora sunt între azi, miezul zilei, și mâine, miezul nopții, tot în UTC. adevărat

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(Ora curentă, Acum())

    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:

    Setați(Ora curentă, Acum())

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