ごきげんよう、百合宮桜(Miyu)です(*'▽')
Power Apps でアプリを作っていると、こんな感じ👇の特定の日付や時間だけ行いたい処理があったりしませんか?
- 毎朝6時に当日のシフトが画面に表示される
- 毎月25日だけ 経費清算〆切です! という注意書きを表示したい
こういう時は Now 関数や Today 関数で日付や時刻を取得し、画面の表示をコントロールするのが一般的です。これらの処理を Power Apps で開発したとして、そのテストってどうやるか知ってますか?
毎朝6時の処理だからって、わざわざ6時に起床してテストする?? いやいやそんなことしてたら、業務時間がいくらあっても足りませんし、開発者みんながみんな6時に都合をつけられる訳でもないから困りますよね……(´・ω・`)
毎月25日だけの処理だって、月1回しかテストできないんじゃ、急な要件変更やバグへの対処がどんどん遅れてしまって、プロジェクトが大炎上してしまいます💦
今回はパソコンの日付と時刻の設定を変えて、Power Apps 側で特定の日付や時刻として認識させる方法を紹介します。
Power Apps が現在日時を認識する方法
Now 関数や Today 関数は利用端末(例 パソコンやスマートフォン)の日付と時間を取得しています。
その為、一時的に利用端末の日時を特定の日時(例 11月25日午前6時)にすれば、Power Apps 上はその日時だという設定での動作確認が可能です。
ただ、Power Apps は利用端末の日時を変更しただけでは現在日時の変更を認識できません。Power Apps は利用端末のタイムゾーンが変更された時に日時の取得結果を更新します。
なのでPower Apps 上で過去や未来の日時を現在日時として取り扱いたい時はいったん別のタイムゾーンに変更して、利用端末上の日時を変更し、元のタイムゾーンに戻すという処理が必要になります。
方法
-
利用端末の設定 > 時刻と言語 > 日付と時刻を開き、タイムゾーンを別の場所に変更します
※どこでも良いです
-
時刻を自動的に設定する を オフ にします
-
日付と時刻を手動で設定する > 変更 をクリックし、現在日時として取り扱いたい日時に変更します
※日本時間で午前6時になるようにしたい!というように時刻にこだわりがある場合は、タイムゾーンを元に戻した時の時差を考慮して設定してください。
-
タイムゾーンを基に戻します
-
Power Apps 上で Now 関数や Today 関数を動作させます
これで一時的に過去や未来の日付を Now 関数や Today 関数で取得することができました。
終わりに
いかがでしたか?
マウスポチポチで簡単な設定だったと思います。ただ、利用端末内の日付や時刻がすべてこの日付になってしまうので、アプリのテスト終了後は元に戻すことをお忘れなく💛
元に戻す時は「時刻を自動的に設定する」を オン にするだけですぐに戻せます。
それでは年末まで頑張っていきましょう!!!ごきげんよう💛







