Partilhar via


Converter um fuso horário

Este artigo fornece passos para converter o fuso horário para o fuso horário pretendido num acionador ou ação do Power Automate.

Ao passar datetimes por acionadores e ações em fluxos do Power Automate, pode descobrir que o fuso horário não é o que esperava ou pode querer converter o fuso horário (frequentemente na Hora Universal Coordenada (UTC)) para a sua hora local. Pode fazê-lo utilizando a ação Converter fuso horário ou a expressão convertTimeZone.

As datas são passadas através de serviços em formatos ou fusos horários diversos, pelo que cada conector poderá utilizar um formato de datetime ou fuso horário diferente. Alguns serviços utilizam estritamente a hora UTC para evitar confusões.

Converter um fuso horário utilizando uma ação

O Power Automate tem uma operação integrada chamada Converter fuso horário.

  1. Inicie sessão no Power Automate.

  2. Localize o seu fluxo e selecione Editar para adicionar uma ação.

  3. Na caixa Pesquisa, digite converter fuso horário e escolha a operação incorporada Converter fuso horário.

    Captura de ecrã para pesquisar pela ação converter fuso horário num fluxo.

  4. Adicione as entradas obrigatórias e opcionais para a operação Converter fuso horário.

    • Hora base: a datetime que pretende converter.
    • Fuso horário de origem: o fuso horário em que a datetime se encontra atualmente.
    • Fuso horário de destino: o fuso horário para o qual pretende converter a sua data.
    • Cadeia de formato(Opcional): a cadeia que especifica o formato pretendido da hora convertida.

    Para formas de localizar o fuso horário atual, aceda à secção Cenários de formato comum neste artigo.

Converter um fuso horário utilizando uma expressão

O Power Automate tem uma função convertTimeZone de expressão que converte um carimbo de data/hora do fuso horário de origem para o fuso horário de destino.

A captura de ecrã mostra que o Power Automate tem uma função de expressão para converter o fuso horário.

Eis um exemplo da função na consola:

convertTimeZone(timestamp: string, sourceTimeZone: string, destinationTimeZone: string, format?: string)

A função obtém os seguintes parâmetros:

  • timestamp: a datetime que pretende converter.
  • sourceTimeZone: o fuso horário em que a datetime se encontra atualmente.
  • destinationTimeZone: o fuso horário para o qual pretende converter a sua data.
  • format (opcional): o formato do fuso horário em que pretende converter a sua data.

Exemplo: Converter um fuso horário

Este exemplo converte um fuso horário no fuso horário e formato especificados.

convertTimeZone('2018-01-01T80:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')

Devolver o resultado: Monday, January 1, 2018.

Exemplo: usar conteúdo dinâmico

Este é um exemplo da utilização de conteúdo dinâmico na expressão. Aqui, o carimbo de data/hora triggerBody()?['Date'] é o conteúdo dinâmico que pretende formatar. O fuso horário de origem é UTC. O fuso horário de destino é Eastern Standard Time. O formato é a cadeia de formato personalizado HH:mm.

convertTimeZone(triggerBody()?['Date'],'UTC','Eastern Standard Time','HH:mm')

Para saber mais sobre esta função de expressão, aceda a convertTimeZone.

Para saber mais sobre o parâmetro de cadeia de formato, aceda às cadeias de formato de data e hora padrão e às cadeias de formato de data e hora personalizadas.

Cenários de formato comum

Esta secção abrange vários cenários e como aplicar o formato adequado.

Decifrar uma datetime

  • As datetimes podem ter formatos diferentes. Se a sua datetime tiver um Z no final, significa que está na hora UTC.

    Exemplo: 2020-04-10T01:28:14.0406387Z

  • Pode receber um erro que afirma que a sua cadeia de data e hora não está no formato correto.

    Exemplo: "a cadeia de data/hora tem de corresponder ao formato ISO8601."

    Para saber mais sobre como formatar corretamente a sua cadeia datetime, aceda a convertTimeZone.

Verificar o fuso horário de uma saída

Se não tiver a certeza em que formato está o fuso horário de datetime, pode executar o seu fluxo e ver o formato de saída de datetime.

Neste exemplo, a operação Obter previsão para hoje produz o carimbo de data/hora de quando obteve a previsão.

A captura de ecrã mostra um exemplo de verificação do formato de saída datetime.

Esta datetime utiliza o formato de datetime ISO-8601. Esta operação produz a datetime no fuso horário UTC.

Converter um carimbo de data/hora de ou para UTC

Para converter um carimbo de data/hora do fuso horário de origem em UTC ou de UTC para o fuso horário de destino, utilize as funções de expressão fconvertFromUtc e convertToUtc .

Limitações

Poderá haver limitações em alguns conectores para a forma como o fuso horário é apresentado. Para saber mais sobre cada conector, aceda a Descrição geral de referência de conectores.