Fonctions Now, Today, IsToday, UTCNow, UTCToday et IsUTCToday

S’applique à : Applications canevas Flux de bureau Colonnes de formule Dataverse Applications pilotées par modèle CLI Power Platform

Renvoie la date et l’heure actuelles, et vérifie si une valeur de date/heure correspond au jour présent.

Note

Les commandes pac power-fx de PAC CLI ne prennent pas en charge les fonctions UTCNow, UTCToday et IsUTCToday.

Description

La fonction Now renvoie la date et l’heure actuelles sous la forme d’une valeur de date/heure.

La fonction Today renvoie la date actuelle sous la forme d’une valeur de date/heure. La partie heure correspond à minuit. Today présente la même valeur tout au long d’une journée, de minuit ce jour là à minuit le lendemain.

La fonction IsToday vérifie si une valeur de date/heure est comprise entre minuit ce jour là et minuit le lendemain. Cette fonction retourne une valeur booléenne (true ou false).

Les fonctions Now,Today et IsToday fonctionnent avec l’heure locale de l’utilisateur actuel.

Les fonctions UTCNow, UTCToday et IsUTCToday sont les mêmes que leurs homologues non UTC mais fonctionnent avec des valeurs indépendantes du fuseau horaire et utilisent le Temps universel coordonné (UTC).

Note

  • Les fonctions UTCNow, UTCToday et IsUTCToday ne sont disponibles que dans les colonnes de formule Microsoft Dataverse for Teams, et uniquement pour les champs et les valeurs indépendants du temps.
  • Les fonctions Now, Today et IsToday ne sont pas disponibles dans les colonnes de formule Dataverse for Teams car les évaluations sont faites sans connaître le fuseau horaire local de l’utilisateur actuel.
    Pour plus d’informations : Travailler avec des colonnes de table de formules dans Dataverse for Teams

Consultez Date, Heure et DateHeure dans la documentation des types de données et Utilisation des dates et des heures pour plus d’informations.

Fonctions volatiles

Now, Today, UTCNow et UTCToday sont des fonctions volatiles. Ces fonctions renvoient une valeur différente pour chaque évaluation.

Quand elle est utilisée dans une formule de flux de données, une fonction volatile retourne une valeur différente seulement si la formule dans laquelle elle apparaît est réévaluée. Si rien d’autre ne change dans la formule, elle aura la même valeur pendant toute l’exécution de votre application.

Par exemple, un contrôle d’étiquette Label1.Text = Now() ne change pas pendant que votre application est active. Seule la fermeture de l’application suivie de sa réouverture aboutit à une nouvelle valeur.

La fonction est réévaluée si elle fait partie d’une formule où quelque chose d’autre a changé. Par exemple, si nous modifions notre exemple en y intégrant un contrôle Slider avec Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ), l’heure actuelle est extraite chaque fois que la valeur du contrôle Slider change et la propriété Text de l’étiquette est réévaluée.

Quand elles sont utilisées dans une formule de comportement, les fonctions volatiles sont évaluées chaque fois que la formule de comportement est évaluée. Un exemple est donné ci-dessous.

Syntaxe

Utilisation du fuseau horaire local de l’utilisateur

Now()

Today()

IsToday( DateHeure )

  • DateHeure : obligatoire. Valeur de date/heure à tester.

Utilisation du Temps universel coordonné (UTC)

UTCNow()

UTCToday()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime : obligatoire. La valeur date/heure indépendante du fuseau horaire à tester.

Examples

Pour les exemples de cette section, l’heure actuelle est 20h58 au 11 juillet 2021 dans le fuseau horaire du Pacifique (UTC-8) et la langue est en-us.

Formule Description Résultat
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) Récupère la date et l’heure actuelles dans le fuseau horaire de l’utilisateur et affiche le résultat sous forme de chaîne. « 11/07/2021 20:58:00 »
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) Récupère la date actuelle, la partie heure restant définie sur minuit, et l’affiche sous forme de chaîne. « 12/07/2021 00:00:00 »
IsToday( Now() ) Vérifie si la date et l’heure actuelles sont comprises entre minuit ce jour là et minuit le lendemain. true
IsToday( Today() ) Vérifie si la date actuelle est comprise entre minuit ce jour là et minuit le lendemain. true
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Récupère la date et l’heure actuelles, y ajoute 12 jours et affiche le résultat sous forme de chaîne. « 23/07/2021 20:58:00 »
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Récupère la date, y ajoute 12 jours et affiche le résultat sous forme de chaîne. « 23/07/2021 00:00:00 »
IsToday( DateAdd( Now(), 12 ) ) Vérifie si la date et l’heure actuelles plus 12 jours sont comprises entre minuit ce jour là et minuit le lendemain. false
IsToday( DateAdd( Today(), 12 ) ) Vérifie si la date actuelle plus 12 jours est comprise entre minuit ce jour là et minuit le lendemain. faux
Hour( UTCNow() ) Récupère la date et l’heure actuelles en UTC et extrait uniquement l’heure, soit 8 heures d’avance sur l’heure locale. 4
Day( UTCToday() ) Récupère la date actuelle uniquement en UTC et extrait le jour, qui est en avance d’un jour sur l’heure locale. 12
IsUTCToday( UTCNow() ) Vérifie si la date et l’heure actuelles sont comprises entre minuit ce jour là et minuit le lendemain, le tout en temps UTC. true
IsUTCToday( UTCToday() ) Vérifie si la date actuelle est comprise entre minuit ce jour et minuit le lendemain, le tout en temps UTC. true

Affiche une horloge qui se met à jour en temps réel

  1. Ajoutez un contrôle Timer, définissez sa propriété Duration sur 1000 et définissez sa propriété Repeat sur true.

    Le minuteur s’exécute pendant une seconde, redémarre automatiquement et continue sur ce schéma.

  2. Définissez la propriété OnTimerEnd sur cette formule :

    Set( CurrentTime, Now() )

    Chaque fois que le minuteur redémarre (après chaque seconde), cette formule définit la variable globale CurrentTime sur la valeur actuelle de la fonction Now.

    Écran contenant un contrôle Timer avec la formule OnTimerEnd = Set(CurrentTime, Now()).

  3. Ajoutez un contrôle Label et définissez sa propriété Text sur cette formule :

    Text( CurrentTime, LongTime24 )

    Utilisez la fonction Text pour mettre en forme la date et l’heure comme vous le souhaitez, ou définissez simplement cette propriété sur CurrentTime pour afficher les heures et les minutes, mais pas les secondes.

    Écran contenant un contrôle d’étiquette avec la propriété Text définie sur Text( CurrentTime, LongTime24).

  4. Affichez un aperçu de l’application en appuyant sur F5, puis cliquez ou appuyez sur le minuteur pour le démarrer.

    L’étiquette montre en permanence l’heure actuelle, arrondie à la seconde.

    Quatre écrans affichant quatre valeurs d’heure (13:50:22, 13:50:45, 13:51:03 et 13:51:25).

  5. Définissez la propriété AutoStart du minuteur sur true et sa propriété Visible sur false.

    Le minuteur est invisible et démarre automatiquement.

  6. Définissez la propriété OnStart de l’écran de façon à ce que la variable CurrentTime ait une valeur valide, comme dans cet exemple :

    Set(CurrentTime, Now())

    L’étiquette apparaît dès que l’application démarre (avant que le minuteur s’exécute pour une seconde complète).