次の方法で共有


Power Apps キャンバス アプリの日付と時刻の問題のトラブルシューティング

日付と時刻の値が 1 日または数時間でオフになっている場合は、タイム ゾーンまたは夏時間調整が原因である可能性があります。 この記事では、次のような問題のトラブルシューティングに関するヒントを提供します。

  • [日付と時刻] フィールドには、ローカル時刻ではなく UTC が表示されます。またはその逆も表示されます。
  • [日付のみ] の値には、一部のユーザーとタイム ゾーンの間違った日付が表示されます。
  • 夏時間切り替え日を入力すると、日付が 1 日ずつオフになるか、1 時間ずつオフになります。

サーバーまたはクライアントの問題かどうかを判断する

キャンバス アプリは Web アプリです。 クラウド サービス (サーバー) からデータを取得します。 同じデータが複数のアプリ (クライアント) に電力を供給できます。 サーバーまたはクライアントでエラーが発生する可能性があります。

データ ソースの日付と時刻の値が予期しない場合は、キャンバス アプリだけでなく、どこでも正しく表示されない可能性があります。 そのため、格納されている値を確認することは重要な最初の手順です。

正しい値がサーバーに格納されているかどうかを確認する

日付と時刻の値は通常、UTC として格納されます。 Dataverse テーブルの場合、 Web API クエリを使用して生の日付と時刻の値を表示できます。 Microsoft List や Excel などの他のデータ ソースについては、それぞれのドキュメントを参照してください。

データ ソースと日付ピッカー コントロールのタイム ゾーン調整設定を確認する

一部のデータ ソースは、タイム ゾーン用に既に調整されています。 さらに、 Date Picker コントロールDateTimeZone プロパティを使用してタイム ゾーンを調整することもできます。

一般的な間違いは、データ ソースと管理設定の不一致です。 たとえば、Dataverse テーブル列が タイム ゾーンに依存しない場合、日付ピッカーの DateTimeZone[ローカル] に設定されている場合、サーバーの UTC 値はユーザーのタイム ゾーンに従って表示されます。 逆の変換も同じように行われます。 DateTimeZone が UTC に設定されている場合、Dataverse のユーザー ローカル値は UTC として表示されます。

この潜在的な競合は、個々のコントロールのタイム ゾーン処理をカスタマイズできないため、モデル駆動型アプリでは発生しません。

別のタイム ゾーンを試す

タイム ゾーンと夏時間調整によって予期しない値が発生しているかどうかを確認するには、ユーザーのタイム ゾーンを変更してみてください。

キャンバス アプリでは、システム タイム ゾーンが使用されます。 変更方法については、Windows、Android、iOS、または macOS の各ドキュメントを参照してください。

ヒント

次の方法では、日付と時刻の問題を簡単に調査できるようにするための詳細を提供します。

ユーザーのタイム ゾーンを表示する

TimeZoneOffset 関数を使用して、ユーザーのタイム ゾーンを確認できます。 UTC とユーザーのタイム ゾーンの間の分数を指定します。 たとえば、ユーザーが太平洋標準時の場合、 480 が返されます。 これは、日付ピッカー コントロールと Power Fx がタイム ゾーンと夏時間の調整に使用するオフセットと同じです。

このオフセットを使用すると、日付と時刻の値が正しく調整されているかどうかを計算できます。

"日付のみ" 形式を "日付と時刻" に変更する

日付のみの値が 1 日ずつオフになっている場合は、タイム ゾーンの調整が原因であるかどうかを確認するために、タイム パーツを表示すると便利です。

2 桁の年を使用しない

2 桁の年があいまいです。 たとえば、40 は 1940、2040、または 2140 を意味します。 システムが 2 桁の年を解釈する方法は、時間の経過と同時に変化する可能性があります。

また、完全な日付と時刻の値が表示されないタイミングを調査することも困難です。 このような理由から、特に日付を入力する場合は、4 桁の年を使用することを強くお勧めします。

Dataverse の日付と時刻の列に関する一般的な問題

一部のユーザーの "日付のみ" 列に間違った日付が表示される

この問題は、 タイム ゾーンに依存しないユーザーのローカル調整動作で発生する可能性があります。これは、常に時間コンポーネントを持ちます。 Dataverse またはキャンバス アプリによるタイム ゾーン調整では、日付を 1 日ずつ前後に移動できます。

この問題を解決するには、値の時間成分とタイム ゾーン調整設定のチェックを表示します

形式が "日付のみ" であっても、フォームに列のタイム ピッカーが表示される

この問題は、 タイム ゾーンに依存しないユーザーのローカル調整動作で発生する可能性があります。これは、常に時間コンポーネントを持ちます。 このような列をフォームに追加すると、フォームには時間も必要であると想定されます。

値の時間コンポーネントをユーザーに表示または編集させたくない場合は、

  • タイム ピッカーを削除します。

  • タイム ゾーンの調整を必要としない [ユーザー ローカル ] 列の場合は、調整動作を [日付のみ] に変更します。

    注:

    これは 、日付のみの 形式とは異なります。 これは永続的な変更であり、元に戻すことはできません。 以前にタイム ゾーンの列を調整した他のアプリ、プラグイン、またはワークフローが正しく動作しない可能性があります。

関連項目

[データバースの日付と時刻] 列の動作と形式