Converter um fuso horário

Este artigo apresenta os passos para converter um fuso horário no fuso horário pretendido num acionador ou numa ação do Power Automate.

Ao transmitir datas e horas através de acionadores e ações nos fluxos do Power Automate, poderá verificar que o fuso horário não é o que esperava, ou poderá pretender converter o fuso horário (frequentemente em 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 transmitidas entre serviços em formatos ou fusos horários diferentes, pelo que cada conector pode utilizar um formato de data e hora ou um 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 de base: a data e hora 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 usando uma expressão

O Power Automate tem uma função de expressão, convertTimeZone, que converte uma 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 data e hora que pretende converter.
  • sourceTimeZone: O fuso horário em que a data e hora está atualmente.
  • destinationTimeZone: o fuso horário para o qual pretende converter a sua data.
  • format (opcional): O formato do fuso horário para o qual queres converter a tua 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')

Devolve o resultado: Monday, January 1, 2018.

Exemplo: usar conteúdo dinâmico

Este exemplo mostra como usar conteúdo dinâmico na expressão. A triggerBody()?['Date'] marca temporal é 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 personalizada HH:mm.

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

Saiba mais sobre esta função de expressão no convertTimeZone.

Saiba mais sobre o parâmetro de cadeia de formato em cadeias de formato padrão de data e hora e cadeias de formato personalizado de data e hora.

Cenários de formato comum

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

Descodificar uma data e hora

  • 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."

Saiba mais sobre como formatar corretamente a sua cadeia de datas no convertTimeZone.

Verificar o fuso horário de uma saída

Se não tiver a certeza de que formato tem atualmente o fuso horário do datetime, pode executar o seu fluxo e ver o formato de saída do 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 devolve a data e hora 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 para UTC, ou de UTC para o fuso horário de destino, utilize as funções de expressão convertFromUtc e convertToUtc.

Limitações

Alguns conectores têm limitações na forma como o fuso horário é exibido. Para saber mais sobre cada conector, consulte Visão Geral de Referência do Conector.