Falta pouco!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Power Automate] - Comparação de horas

Olá pessoal!

Estou tentando criar um fluxo que em um dos passos eu preciso de uma condição que compare a hora atual com uma hora predeterminada.

Eu quero comparar se a hora atual (usei a expressão formatDateTime(convertTimeZone(utcNow(), 'UTC', 'E. South America Standard Time'), 'HH:mm:ss') se ela É MAIOR QUE formatDateTime('11:00','HH:mm')

Esse fluxo roda 8:00, 9:00, 10:00, 11:00.... até 16:00

Porém nos horários ANTES das 11:00... ele está disparando uma condição FALSA, onde o teste entende que o horario ATUAL está à frente das 11:00.

Não entendi onde está meu erro ainda... podem ajudar?

2 respostas
solução!

Oi, tudo bem?

O que pode está acontecendo é que a comparação está sendo feita entre textos, e não entre horas. Quando você usa formatDateTime, o Power Automate compara os valores como strings. Nesse caso, "09:00:00" não é "maior" que "11:00" em uma comparação de texto.

Para resolver isso, da para comparar os "ticks" das horas. Ticks são uma unidade numérica que representa o tempo, permitindo uma comparação matemática correta.

Você pode ajustar sua condição da seguinte forma:

  • Valor A (Hora Atual): Converta a hora atual para ticks.
    ticks(convertTimeZone(utcNow(), 'UTC', 'E. South America Standard Time'))
    
  • Valor B (Hora Desejada): Crie a data de hoje com o horário das 11:00 e converta para ticks.
    ticks(concat(formatDateTime(convertTimeZone(utcNow(), 'UTC', 'E. South America Standard Time'), 'yyyy-MM-dd'), 'T11:00:00'))
    

Sua condição ficará assim:

Dessa forma, a comparação será numérica e o fluxo funcionará como esperado.

Espero ter ajudado! Bons estudos!

Sucesso

Imagem da comunidade

Bom dia,

Muito bom!! Funcionou perfeitamente!

Obrigado @Victor Costa Santos