Funzioni Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday

Si applica a: app canvas flussi desktop colonne di formula Dataverse app basate su modello Power Platform CLI

Restituisce la data e ora correnti e verifica se un valore di data/ora corrisponde alla data odierna.

Nota

I comandi CLI PAC pac power-fx non supportano UTCNow, UTCToday e le funzioni IsUTCToday.

Descrizione

La funzione Now restituisce la data e ora correnti come valore di data/ora.

La funzione Today restituisce la data corrente come valore di data/ora. La parte dell'ora corrisponde alla mezzanotte. Today ha lo stesso valore per tutto il giorno, dalla mezzanotte della data odierna alla mezzanotte del giorno successivo.

La funzione IsToday verifica se un valore di data/ora è compreso tra la mezzanotte della data odierna e la mezzanotte del giorno successivo. Restituisce un valore booleano (vero o falso).

Le funzioni Now, Today, e IsToday funzionano con l'ora locale dell'utente corrente.

Le funzioni UTCNow, UTCToday e IsUTCToday sono le stesse delle loro controparti non UTC, ma funzionano con valori indipendenti dal fuso orario e utilizzano l'ora UTC (Coordinated Universal Time).

Nota

  • UTCNow, UTCToday, e IsUTCToday sono disponibili solo nelle colonne di formula Microsoft Dataverse for Teams e solo per campi e valori indipendenti dal tempo.
  • Now, Today, e IsToday non sono disponibili nelle colonne di formula Dataverse for Teams poiché le valutazioni vengono eseguite indipendentemente dal fuso orario locale dell'utente corrente.
    Maggiori informazioni: Utilizzare le colonne della tabella delle formule in Dataverse for Teams

Vedi la documentazione Tipi di dati Date, Time e DateTime e Utilizzo di date e ore per altre informazioni.

Funzioni volatili

Le funzioni Now, Today, UTCNow, e UTCToday sono volatili. Queste funzioni restituiscono un valore diverso per ogni valutazione.

Quando viene usata in una formula di flusso di dati, una funzione volatile restituisce un valore diverso solo se viene rivalutata la formula in cui è presente. Se nella formula non viene modificato nessun altro elemento, avrà lo stesso valore in tutta l'esecuzione dell'app.

Ad esempio, un controllo label con Label1.Text = Now() non cambierà mentre l'app è attiva. Solo chiudendo e riaprendo l'app verrà generato un nuovo valore.

La funzione viene rivalutata se fa parte di una formula in cui è stato modificato un altro elemento. Si supponga di voler modificare questo esempio in modo che comporti un controllo slider con Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ): in questo caso, l'ora corrente viene recuperata ogni volta che viene modificato il valore del controllo Slider e viene rivalutata la proprietà Text dell'etichetta.

Se usate in una formula di comportamento, le funzioni volatili vengono valutate ogni volta che viene valutata la formula di comportamento. Per un esempio, vedere di seguito.

Sintassi

Uso dell'ora locale dell'utente

Now()

Today()

IsToday( DateTime )

  • DateTime: obbligatorio. Valore di data/ora da verificare.

Uso di Coodinated Universal Time (UTC)

UTCNow()

UTCToday()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime: obbligatorio. Il valore di data/ora indipendente dal fuso orario da testare.

Esempi

Per gli esempi in questa sezione, l'ora corrente è 20:58 del giorno 11 luglio 2021 nel fuso orario del Pacifico (UTC-8) e la lingua è en-us.

Formula Descrizione Risultato
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) Recupera la data e ora correnti, nel fuso orario dell'utente e visualizza il valore ottenuto come stringa. "07/11/2021 20:58:00"
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) Recupera solo la data corrente, lasciando la parte dell'ora sulla mezzanotte, e visualizza il valore come stringa. "07/12/2021 00:00:00"
IsToday( Now() ) Verifica se la data e ora correnti sono comprese tra la mezzanotte della data odierna e la mezzanotte del giorno successivo. true
IsToday( Today() ) Verifica se la data corrente è compresa tra la mezzanotte della data odierna e la mezzanotte del giorno successivo. true
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Recupera la data e ora correnti, aggiunge 12 giorni al risultato e visualizza il valore ottenuto come stringa. "07/23/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Recupera la data corrente, aggiunge 12 giorni al risultato e visualizza il valore ottenuto come stringa. "07/23/2021 00:00:00"
IsToday( DateAdd( Now(), 12 ) ) Verifica se la data e ora correnti, più 12 giorni, sono comprese tra la mezzanotte della data odierna e la mezzanotte del giorno successivo. false
IsToday( DateAdd( Today(), 12 ) ) Verifica se la data corrente, più 12 giorni, è compresa tra la mezzanotte della data odierna e la mezzanotte del giorno successivo. falso
Hour( UTCNow() ) Recupera la data e l'ora correnti in formato UTC ed estrae solo l'ora, ovvero 8 ore prima dell'ora locale. 4
Day( UTCToday() ) Recupera solo la data corrente in formato UTC ed estrae il giorno, ovvero 1 giorno prima dell'ora locale. 12
IsUTCToday( UTCNow() ) Verifica se la data e ora correnti sono comprese tra la mezzanotte della data odierna e la mezzanotte del giorno successivo, in UTC. vero
IsUTCToday( UTCToday() ) Verifica se la data corrente è compresa tra la mezzanotte della data odierna e la mezzanotte del giorno successivo, in UTC. vero

Visualizzare un orologio che viene aggiornato in tempo reale

  1. Aggiungi un controllo Timer, imposta la relativa proprietà Duration su 1000 e la proprietà Repeat su vero.

    Il timer verrà eseguito per un secondo, si riavvierà automaticamente e continuerà tale modello.

  2. Impostare la proprietà OnTimerEnd su questa formula:

    Set( CurrentTime, Now() )

    Ogni volta che viene riavviato il timer (dopo ogni secondo), questa formula imposta la variabile globale CurrentTime sul valore corrente della funzione Now.

    Schermata contenente un controllo timer con la formula OnTimerEnd = Set(CurrentTime, Now()).

  3. Aggiungi un controllo Label e impostane la proprietà Text sulla formula seguente:

    Text( CurrentTime, LongTime24 )

    Usare la funzione Text per formattare la data e l'ora come si preferisce o impostare questa proprietà semplicemente su CurrentTime per visualizzare le ore e i minuti ma non i secondi.

    Schermata contenente un controllo label con la proprietà Text impostata su Text( CurrentTime, LongTime24).

  4. Visualizzare in anteprima l'app premendo F5 e quindi avviare il timer facendo clic o toccandolo.

    L'etichetta visualizza continuamente l'ora corrente, con precisione al secondo.

    Quattro schermate con quattro valori di ora (13:50:22, 13:50:45, 13:51:03 e 13:51:25).

  5. Impostare la proprietà AutoStart su true e la relativa proprietà Visible su false.

    Il timer non è visibile e viene avviato automaticamente.

  6. Impostare la proprietà OnStart della schermata in modo che la variabile CurrentTime abbia un valore valido, come nell'esempio seguente:

    Set(CurrentTime, Now())

    L'etichetta viene visualizzata all'avvio dell'app (prima che il timer venga eseguito per un intero secondo).