Personnaliser ou mettre en forme les valeurs de date et d’heure dans un flux

Cet article décrit les étapes pour personnaliser ou mettre en forme les valeurs de date et d’heure dans un flux Power Automate.

Lorsque vous utilisez des valeurs de date et d’heure dans un flux Power Automate, vous constaterez peut-être que le format de date et d’heure ne correspond pas à vos attentes, ou vous souhaiterez peut-être personnaliser le format de sortie. Vous pouvez le faire en transmettant des chaînes de format à la fonction formatDateTime.

Mettre en forme la date et l’heure

La fonction formatDateTime() de Power Automate vous permet de manipuler et de mettre en forme les valeurs de date et d’heure dans différents formats d’affichage. Elle offre également une manière simple de gérer la date et l’heure dans différents fuseaux horaires.

La fonction formatDateTime() utilise deux paramètres :

  • Horodatage : l’horodatage est la valeur de date et d’heure qui doit être mise en forme.

    Il peut s’agir d’une chaîne manuelle ou d’un contenu dynamique. Lorsqu’il est saisi manuellement, l’horodatage doit suivre le format ISO 8601 (« yyyy-MM-ddTHH:mm:ssZ »).

  • Chaîne de format : la chaîne de format spécifie le format de sortie pour la date et l’heure.

    Le paramètre de chaîne de format de la fonction formatDateTime() peut être une chaîne de format standard ou une chaîne de format personnalisée.

Chaînes de format standard

Une chaîne de format standard utilise un seul caractère (par exemple, d, g ou G) comme spécificateur de format.

Exemples

  • La chaîne de format g correspond au modèle de date et d’heure général (heure courte) :

    formatDateTime('2009-06-15T13:45:30', 'g') // Renvoie le format 6/15/2009 1:45 PM

  • La chaîne de format D correspond au modèle de date long :

    formatDateTime('2009-06-15T13:45:30', 'D') // Renvoie le format lundi 15 juin 2009

Pour obtenir plus d’informations et des exemples d’utilisation de chaînes de format de date et d’heure standard, accédez à Chaînes de format de date et d’heure standard.

Chaînes de format personnalisées

Une chaîne de format personnalisée est toute chaîne contenant plusieurs caractères (par exemple, M/dd/yyyy h:mm tt) qui peut contrôler la visibilité, le positionnement et la précision du mois, du jour, de l’année, de l’heure, de la seconde, etc., de la valeur de date et d’heure.

Exemples

  • La chaîne de format M/dd/yyyy h:mm tt représente le même modèle que la chaîne de format standard g, comme décrit dans Chaînes de format standard :

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy h:mm tt') // Renvoie le format 6/15/2009 1:45 PM

  • La chaîne de format HH:mm:ss tt renvoie le format 24 heures :

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy HH:mm:ss tt') // Renvoie le format 6/15/2009 13:45:30 PM

  • La chaîne de format hh:mm:ss tt renvoie le format 12 heures :

    formatDateTime('2009-06-15T13:45:30', 'yyyy/MM/dd hh:mm:ss tt') // Renvoie le format 2009/06/15 1:45:30 PM

  • La fonction utcNow() utilisée comme horodatage pour récupérer automatiquement la date et l’heure actuelles en UTC, et la chaîne de format dd-MM-yyyy pour afficher la date et l’heure :

    formatDateTime(utcNow(), 'MMMM dd, yyyy, HH:mm') // Renvoie la date et l’heure actuelles au format 15 juin 2009, 16:50

  • La fonction utcNow() utilisée comme horodatage pour récupérer automatiquement la date et l’heure actuelles en UTC, et la chaîne de format dd-MM-yyyy pour afficher la date mais pas l’heure :

    formatDateTime(utcNow(), 'dd-MM-yyyy') // Renvoie la date et l’heure actuelles au format 15-06-2009

Pour obtenir plus d’informations et des exemples d’utilisation de chaînes de format de date et d’heure personnalisées, accédez à Chaînes de format de date et d’heure personnalisées.

Utiliser dans un flux

Pour utiliser une valeur de date et d’heure dans un flux, procédez comme suit.

  1. Dans le flux, sélectionnez le champ de saisie où vous souhaitez saisir la valeur de date et d’heure mise en forme.

  2. Accédez à Ajouter du contenu dynamique et sélectionnez l’onglet Expression pour ouvrir l’éditeur d’expressions.

  3. Saisissez formatDateTime().

    Sinon, recherchez-la dans les fonctions Date et heure.

  4. Fournissez la valeur à mettre en forme, entourée de guillemets simples.

    Le contenu dynamique peut être utilisé mais ne doit pas être entouré de guillemets simples.

  5. Fournissez la chaîne de format, entourée de guillemets simples.

  6. L’expression complète devrait ressembler aux exemples suivants :

    • formatDateTime('<your-value>', 'dd/MM/yyyy hh:mm tt')
    • formatDateTime('<dynamic-value>', 'dd/MM/yyyy hh:mm tt')

    Capture d’écran du lien Ajouter du contenu dynamique et de l’onglet Expression.

  7. Sélectionnez OK.

Exemple avec du contenu dynamique

Les contenus dynamiques sont des variables produites par des déclencheurs et des actions dans un organigramme. Ils permettent aux utilisateurs de sélectionner des références de champ à partir des étapes précédentes et d’écrire des expressions.

Cet exemple décrit un flux simple qui démontre l’utilisation de la fonction formatDateTime() avec un contenu dynamique. Le déclencheur utilisé dans cet exemple est un flux déclenché manuellement qui nécessite la saisie de l’utilisateur.

  1. Connectez-vous à Power Automate.

  2. Configurez le déclencheur pour le flux. Cet exemple utilise Date comme entrée.

    1. Dans le volet de navigation de gauche, sélectionnez Créer>Flux de cloud instantané.

    2. Dans le champ Nom du flux, saisissez un nom pour votre flux.

    3. Dans la liste Choisir comment déclencher ce flux, sélectionnez Déclencher manuellement un flux.

    4. Sélectionnez Créer.

    5. Sélectionnez la carte Déclencher manuellement un flux.

    6. Dans l’onglet Paramètres, sélectionnez + Ajouter une entrée>Date.

    7. Dans le champ à droite, saisissez 2023-10-22.

      Capture d’écran du format de date dans l’onglet Paramètres.

  3. Ajoutez l’action Envoyer un e-mail (v2).

    1. Sous la carte Déclencher manuellement un flux, sélectionnez le signe plus (+) >Ajouter une action.

    2. Dans le champ Rechercher, commencez à saisir Envoyer un e-mail (v2) et sélectionnez-la dans la liste lorsque vous la voyez.

    3. Sélectionnez le champ Corps dans l’e-mail, puis sélectionnez fx (Insérer une expression).

    4. Sélectionner Contenu dynamique.

      Le contenu dynamique affiché ici est lié au déclencheur. Il relie le déclencheur et les actions qui doivent être effectuées.

    5. Dans le champ au-dessus de Contenu dynamique, commencez à saisir formatDateTime et sélectionnez-la dans le menu déroulant lorsqu’elle apparaît.

    6. Faites défiler la liste Contenu dynamique et sélectionnez Date de déclenchement. Si elle n’apparaît pas, sélectionnez Voir plus.

      Le contenu dynamique de cette variable provient du champ de date du déclencheur.

    7. Fournissez la chaîne de format (entourée de guillemets simples) en fonction du format de sortie souhaité pour la date. Dans cet exemple, le format MM/dd/yyyy est utilisé.

      L’expression complète se présente comme suit :

      formatDateTime(triggerBody()?['date'], 'MM/dd/yyyy')

      Capture d’écran de la fonction formatDatTime utilisant du contenu dynamique.

    8. Sélectionnez Ajouter.

  4. Dans l’onglet Paramètres, insérez un email dans le champ À et un objet dans le champ Objet.

  5. Sélectionnez Enregistrer.

  6. Après avoir exécuté le flux, l’e-mail reçu affiche la date au format MM/jj/aaaa spécifié.

Exemple de conversion du fuseau horaire

Power Automate utilise le Temps universel coordonné (UTC) par défaut. Pour gérer les valeurs de date et d’heure dans d’autres fuseaux horaires, vous pouvez utiliser formatDateTime conjointement avec la fonction convertTimeZone.

Par exemple, pour afficher l’heure actuelle selon l’heure normale de l’Est, vous pouvez utiliser la syntaxe suivante :

formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time'), 'yyyy-MM-dd HH:mm:ss') // Renvoie la date et l’heure ajustées à l’heure normale de l’Est

Voir aussi

Pour plus d’informations sur la fonction de date et d’heure, sélectionnez les articles suivants.