日付属性の表示、計算、または選択に応じて、データベースの日付フィールドを操作するための適切な方法を決定する必要があります。
[属性検索 (Select Layer By Attribute)] ツールや、それに類似するクエリ作成のダイアログ ボックスを使用した日付フィールドの値の選択と表示は、SQL 構文を使用して行います。 日付フィールドの値の選択と表示に使用される SQL 構文は、データベースの種類によって異なります。 詳細については、「SQL リファレンス」のトピックをご参照ください。
属性テーブルでの日付フィールドの計算と表示には、異なる形式と構文が使用されます。 これは、ArcGIS Pro のフィールド演算が Python 関数を使用しており、表示形式が、システムの基本となるデータベースの形式ではなく、地域設定に依存するためです。
日付の表示
シェープファイルは、日付を日付フィールドに「yyyy-mm-dd」形式で格納します。 ジオデータベースは、日付を「yyyy-mm-dd hh:mm:ss AM または PM」として格納します。Windows システムの設定によって、「M/d/yy」、「MM/dd/yy」、「yy/MM/dd」などのように、日付が ArcGIS Pro で表示される方法が決まります。 ArcGIS Pro は、日付の表示にシステムの短い日付形式 (数値) を使用します。 これらはデフォルトの形式ですが、テーブルとポップアップの両方で日付が異なる形式で表示されるようにすることもできます。
ArcGIS Pro は、Windows の日付形式の設定に従います。
注意:
Web フィーチャ レイヤーの日付フィールドのタイム ゾーン情報は、フィールド ヘッダーのツールチップに表示されます。また、これらの値を編集する際にすべてのカレンダー コントロールにも表示されます。 優先タイム ゾーンが設定されている場合を除き、デフォルトでは値が世界協定時 (UTC) に設定されています。 タイムゾーンを含むマップまたはフィーチャ サービス設定の編集は、ホスト側で実施する必要があります。
日付フィールドを使用したフィルター処理
テーブル プロパティで日付フィールドに時間が定義されている場合、テーブルは自動的にそのレコードをフィルター処理し、現在のタイム スライダーの範囲内にあるレコードのみを表示します。 マップ ビュー内でタイム スライダーのステップ間隔を指定するか、スライダーを再生すると、現在の期間内にあるレコードだけがテーブルに表示されます。
注意:
カタログ ビューまたは [カタログ] ウィンドウから開かれたテーブルは、アクティブなタイム スライダーによる影響を受けません。
デフォルトでは、マップ内で時間が有効になっている場合にフィルターが適用されます。 すべてのレコードをテーブルに表示するには、テーブル ビューの下部にある [時間によるフィルター処理] をオフにします。 テーブルのフィルター オプションには、[テーブル] タブの [フィルター] グループからもアクセスできます。
日付フィールドの計算
フィールド演算は、日付フィールドを計算する際に Python の datetime 関数を使用します。 関数の一部は、「yyyy-mm-dd hh:mm:ss AM または PM」形式の日時をサポートしています。ただし、シェープファイルでは、日時値の時間の部分が切詰められます。 たとえば、「2002-08-20 12:00:00 PM」は、シェープファイルでは「2002-08-20」として格納されます。
任意の Python datetime 関数を使用して日付を計算できます。 属性として現在の時間を計算するには、today() 関数を使用します。
また、日付を計算するときに、2 桁の年を使用することもできます。 date_field = dateserial(02,8,20) のように、日付を計算するときに 2 桁の年 (この場合は 02) を指定すると、世紀を表す部分はシステムの設定によって制御されます。 これらの設定は、Windows の地域と時間のオプションで調整できます。
日付フィールドを使用したフィーチャの選択
[属性検索 (Select Layer By Attribute)] ジオプロセシング ツールを使用して、日付フィールド、数値フィールド、および文字列フィールド用の SQL 選択クエリを作成できます。 日付値に基づいてデータセットを検索することによって、個々のレコードまたは複数のレコードを選択できます。 日付を検索するには、データに応じた構文が必要です。
日付検索のさまざまな構文と仕様については、「SQL リファレンス ガイド」をご参照ください。