Power Automate クラウドで時刻の比較
Power Autoamteクラウド版を使って時刻の比較をする方法です。
時間との比較
定期的に繰り返し処理を行う最中に特定の時間だけ実行させたいと思いました。
そういう場合どうするんだろうと検索したら、次のページが見つかりました。
Time comparison with condition
なるほど。現在時刻から時間だけを文字列で取り出し、それを整数にしてから比較するとは。
私も試してみました。
条件の結果がYesなら、フローを無効化します。
Power Automate 繰り返し処理をしながら一回だけ実行分まで含めた比較
これ、7時間30以降とかはどう処理するんだろうという疑問はあるけれど、それは時刻を実数に変換するなどの方法があるのでしょう! 多分…
というわけで、検索してみたところ次のQAが見つかりました。
How to convert string HH:MM in integer
add(mul(int(outputs('Split_Hours_and_minutes')[0]),3600),mul(int(outputs('Split_Hours_and_minutes')[1]),60))
それ専用の関数などがあるのかと思いましたが、原始的な計算を行うしかないのかもしれません…
例えば、HHはそのまま整数に変換し、MMは60で割って小数として表現することになりそうです。比較する際には、両方を足してから比較することになります。
VBA的に書くなら、CInt(Left(uHHMM, 2)) + CDbl(Right(uHHMM, 2)) でしょうか。
Powre Autoamteなら次のようになるのでしょう。多分。
add(int(outputs('Split_Hours_and_minutes')[0]), div(int(outputs('Split_Hours_and_minutes')[1]), 60))
これで、時:分を実数に変換できるので、 15.5 (午後3時半)などと比較することができるようになると思います。
コメント
コメントを投稿