Power Appsの編集フォームで日付項目を更新する際、データソースに想定した日付が反映されないことがあります。
考えられる原因は色々あると思いますが、反映された日付が毎度意図した日付の前日になっていたりすると、データソース側のタイムゾーン設定による影響かもしれません。
タイムゾーンとはUTC(協定世界時)やJST(日本標準時)などの時間軸のことで、データソースとなるShare Pointなどで設定ができます。
例えばこのタイムゾーン設定がUTCになっていると、Power AppsでJST(UTCより9時間進んでいる)のカレンダコントロールを使って日付項目を更新しても、ソースには9時間分引き算された形で反映されてしまうというわけです。
こういう場合はデータソースのタイムゾーンを変更するのが一番ですが、様々な事情で上手くいかないこともあるでしょう。
そうした場合、更新する日付項目ごとに設定を施し、Power Apps側で時間差の調整を行います。
DateAdd関数で時間差を調整する方法(UTC→JST)
日付項目のデータカードを選択し、Updateプロパティに下記のように記述します。(”DateValue”の部分は任意)
DateAdd(DateValue.SelectedDate,9,Hours)
上記はDateAdd関数を使い、カレンダコントロールで選んだ日時に9時間を追加する、ということをしています。
この形で更新することで、タイムゾーン設定がマイナス9時間のUTCであっても、時間差が相殺され、意図した日付を反映させることが可能になります。
DateAdd関数 | 第一引数に対象の日付を入れ、第二引数に追加する時間を設定する。第三引数は追加時間の単位 |
以上、お読み頂きありがとうございました。
リモートやフレックスなど快適な働き方に興味のある方は↓の記事もおすすめです。
リモートやフレックスなど快適な働き方にフォーカスした転職サイトとは?