PowerAutomateに日時型なんてものはない
Power Automateでフローを構築するとき、「現在日時」を取得して利用したり、「ExcelのテーブルのXX列から読み取った日付」を読み取って利用したりと、日時データを扱うことはしばしばあります。
Problem
ところで、Power Automateで扱えるデータ型には「日時型」(例:C#のDateTime、JavaのDateやDateTime、JavaScriptのDate)は存在しないようです。これは「問題」というより単なる「事実」かもしれませんが。。。
Solution
では日付データはどのように扱うかというと文字列型(String型)のデータとして扱います。ISO8601で規定されたフォーマットや、その他のフォーマットで日時データが表現されている、単なる文字列です。
例:現在の日時を得るには utcNow()
関数を使いましょう。ただし関数名が示す通りこの関数が返すのは世界標準時です。ISO8601形式でミリ秒精度、タイムゾーン付きの日時文字列が得られます。
utcNow()
例:その値を日本標準時に変換するには convertFromUtc()
関数を使いましょう。
convertFromUtc(utcNow(), 'Tokyo Standard Time')
例:30分後の時刻を知りたい場合は addMinute()
関数を使いましょう。ちなみに30分前の場合は負数を指定します。
addMinute(convertFromUtc(utcNow(), 'Tokyo Standard Time'), 30)
だいたいいつもこんな調子ですが、注意点が2つあります。
- アクションによって日時データの解釈の仕方が違うので注意しましょう。 所定の欄に入力された日時データ(を表す文字列)を世界標準時として解釈するものと、どこかしらの国・地域の標準時として解釈するものとがあります。
- 日時データの書式化(フォーマット)はなるべく最後の段階で行いましょう。
繰り返しになりますが、Power Automateにおいて日時データは単なる特別な書式を持つ文字列データです。ひとたび、Power Automateが標準で使用するフォーマット(ISO8601)以外に変換したら、後続の処理でもその書式を意識した処理をしなくてはなりません。前掲の「例」で
convertFromUtc()
やaddMinute()
はいずれも第3引数を省略していますが、これができるのはISO8601を使う場合だけです。
Author And Source
この問題について(PowerAutomateに日時型なんてものはない), 我々は、より多くの情報をここで見つけました https://qiita.com/mizukyf/items/281a7d6613143e72c7c6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .