Power AppsからカスタムコネクタなどのWeb API呼び出しをした際にレスポンスの中に日時型のフィールドがある場合の挙動について確認してみます。
レスポンス
カスタムコネクタからは以下のようなレスポンスを返します。
それぞれ DateTime の kind がutc
,localP
,unspecified
のJSON文字列になっています。
Power Appsでの表示
これをPower Appsで表示すると以下のような表示になります。
ここでutc
とlocal
が+9時間されて表示されているのがわかります。これはPower Appsのユーザーの端末のロケール設定に基づいて自動的に計算されるものです。1 (今回はPowerAppsのロケールを日本に設定しているので+9Hされています)
まとめ
基本的にクラウド上で日時型の保管や処理をする場合は一貫してUTCを使用し、UI側でユーザーロケールによって変換することが推奨されていますが、どうしてもデータのままの日時を表示したい場合はunspecified
を指定する必要があるようです。
おまけ:タイムゾーンを変更してみる。
使用しているPCのタイムゾーンを「ハワイ」に変更してみます。
-
以前そのような記載のドキュメントを見た気がするのですが、今探したら見当たりませんでした・・・。ご存じであればコメントなどいただけると幸いです。関係しそうなDocs→https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/show-text-dates-times ↩