Condividi tramite


Personalizzare o formattare i valori di data e ora in un flusso

Questo articolo fornisce i passaggi per personalizzare o formattare i valori di data e ora in un flusso Power Automate.

Quando lavori con valori di data e ora in un flusso Power Automate, potresti scoprire che il formato di data e ora non è quello previsto oppure potresti voler personalizzare il formato dell'output. Puoi farlo passando le stringhe di formato alla funzione formatDateTime.

Formato data e ora

La funzione formatDateTime() in Power Automate consente di manipolare e formattare i valori di data e ora in vari formati di visualizzazione. Offre inoltre un modo semplice per gestire data e ora in diversi fusi orari.

La funzione formatDateTime() prende due parametri:

  • Timestamp: il timestamp è il valore di data e ora che deve essere formattato.

    Può essere una stringa manuale o un contenuto dinamico. Se inserito manualmente, è previsto che il timestamp segua il formato ISO 8601 ("yyyy-MM-ddTHH:mm:ssZ").

  • Stringa di formato: la stringa di formato specifica il formato di output per la data e l'ora.

    Il parametro della stringa di formato della funzione formatDateTime() può essere una stringa di formato standard o una stringa di formato personalizzata.

Stringhe di formato standard

Una stringa di formato standard utilizza un singolo carattere (ad esempio d, g o G) come identificatore di formato.

Esempi

  • La stringa di formato g corrisponde al modello data/ora generale (ora breve):

    formatDateTime('2009-06-15T13:45:30', 'g') // Restituisce il formato 15/06/2009 1:45 PM

  • La stringa di formato D corrisponde al modello di data lunga:

    formatDateTime('2009-06-15T13:45:30', 'D') // Restituisce il formato lunedì 15 giugno 2009

Per ulteriori informazioni ed esempi di utilizzo delle stringhe di formato di data e ora standard, vai a Stringhe di formato di data e ora standard.

Stringhe di formato personalizzate

Una stringa di formato personalizzato è qualsiasi stringa con più di un carattere (ad esempio, M/dd/yyyy h:mm tt) in grado di controllare la visibilità, il posizionamento e la precisione di mese, giorno, anno, ora, secondo e così via del valore della data e dell'ora.

Esempi

  • La stringa di formato M/dd/yyyy h:mm tt rappresenta lo stesso modello della stringa di formato standard g come descritto in Stringhe di formato standard:

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy h:mm tt') // Restituisce il formato 15/06/2009 1:45 PM

  • La stringa di formato HH:mm:ss tt restituisce il formato 24 ore:

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy HH:mm:ss tt') // Restituisce il formato 15/06/2009 13:45:30PM

  • La stringa di formato hh:mm:ss tt restituisce il formato 12 ore:

    formatDateTime('2009-06-15T13:45:30', 'yyyy/MM/dd hh:mm:ss tt') // Restituisce il formato 15/06/2009 1:45:30P M

  • La funzione utcNow() utilizzata come timestamp per recuperare automaticamente la data e l'ora correnti in UTC e la stringa di formato dd-MM-yyyy per visualizzare la data e l'ora:

    formatDateTime(utcNow(), 'MMMM dd, yyyy, HH:mm') //Restituisce la data e l'ora corrente nel formato 15 giugno 2009, 16:50

  • La funzione utcNow() utilizzata come timestamp per recuperare automaticamente la data e l'ora correnti in UTC e la stringa di formato dd-MM-yyyy per visualizzare la data ma non l'ora:

    formatDateTime(utcNow(), 'dd-MM-yyyy') //Restituisce la data e l'ora corrente nel formato 15-06-2009

Per ulteriori informazioni ed esempi di utilizzo delle stringhe di formato di data e ora personalizzate, vai a Stringhe di formato di data e ora personalizzate.

Usa in un flusso

Per utilizzare un valore di data e ora in un flusso, seguire questi passaggi.

  1. Nel flusso, seleziona il campo di input in cui desideri inserire il valore di data e ora formattato.

  2. Vai ad Aggiungi contenuto dinamico e seleziona la scheda Espressione per aprire l'editor delle espressioni.

  3. Digitaa formatDateTime().

    In alternativa cercalo sotto le funzioni Data e ora.

  4. Fornire il valore da formattare, racchiuso tra virgolette singole.

    È possibile utilizzare contenuto dinamico ma non deve essere racchiuso tra virgolette singole.

  5. Fornisci la stringa del formato, racchiuso tra virgolette singole.

  6. L'espressione completa dovrebbe ora apparire come negli esempi seguenti:

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

    Screenshot del collegamento Aggiungi contenuto dinamico e della scheda Espressione.

  7. Seleziona OK.

Esempio con contenuto dinamico

I contenuti dinamici sono variabili prodotte da trigger e azioni all'interno di un diagramma di flusso. Consentono agli utenti di selezionare i riferimenti ai campi dai passaggi precedenti e scrivere espressioni.

Questo esempio illustra un flusso semplice che dimostra l'uso della funzione formatDateTime() con contenuto dinamico. Il trigger utilizzato in questo esempio è un flusso attivato manualmente che richiede l'input dell'utente.

  1. Accedi a Power Automate.

  2. Configura il trigger per il flusso. Questo esempio utilizza Data come input.

    1. Nel riquadro di spostamento a sinistra, seleziona Crea>Flusso cloud istantaneo.

    2. Nel campo Nome flusso immetti un nome per il flusso.

    3. Nell'elenco Scegli come attivare questo flusso seleziona Attiva manualmente un flusso.

    4. Seleziona Crea.

    5. Seleziona la scheda Attiva un flusso manualmente.

    6. Nella scheda Parametri, seleziona + Aggiungi un input>Data.

    7. Nella campo a destra immetti 2023-10-22.

      Screenshot del formato della data nella scheda Parametri.

  3. Aggiungi l'azione Invia un messaggio e-mail (v2).

    1. Sotto la scheda Attiva manualmente un flusso, seleziona il segno più (+) >Aggiungi un'azione.

    2. Nel campo Cerca, inizia a digitare Invia un'e-mail (v2) e selezionala dall'elenco quando la vedi.

    3. Seleziona il campo Corpo nell'e-mail, quindi seleziona fx (Inserisci espressione).

    4. Selezionare Contenuto dinamico.

      Il contenuto dinamico mostrato qui è correlato al trigger. Collega insieme il trigger e le azioni che devono essere intraprese.

    5. Nel campo sopra Contenuto dinamico, inizia a digitare formatDateTime e selezionala dal menu a discesa quando viene visualizzata.

    6. Scorri verso il basso l'elenco Contenuto dinamico e seleziona Data di attivazione. Se non viene visualizzato, seleziona Visualizza altro.

      Il contenuto dinamico di questa variabile proviene dal campo data nel trigger.

    7. Fornire la stringa di formato (racchiusa tra virgolette singole) in base al formato di output desiderato per la data. In questo esempio, viene utilizzato il formato della data MM/gg/aaaa.

      L'espressione completa si presenta così:

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

      Screenshot della funzione formatDatTime usando contenuto dinamico.

    8. Seleziona Aggiungi.

  4. Nella scheda Parametri, inserisci un'e-mail nel campo A e un oggetto nel campo Oggetto.

  5. Seleziona Salva.

  6. Dopo aver eseguito il flusso, l'e-mail ricevuta mostra la data nel formato MM/gg/aaaa specificato.

Esempio con Converti fuso orario

Power Automate utilizza Coordinated Universal Time (UTC) per impostazione predefinita. Per gestire i valori di data e ora in altri fusi orari, puoi utilizzare formatDateTime insieme alla funzione convertTimeZone.

Ad esempio, per visualizzare l'ora corrente secondo l'orario standard orientale, è possibile utilizzare la seguente sintassi:

formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time'), 'yyyy-MM-dd HH:mm:ss') // Restituisce la data e l'ora adattate all'ora standard orientale

Per ulteriori informazioni sulla funzione data e ora seleziona i seguenti articoli.