日付フィールドの使用

日付属性の表示、計算、または選択に応じて、データベースの日付値を操作するための適切な方法を決定する必要があります。 日付値は、Date、DateOnly、TimeOnly、TimestampOffset のタイプのフィールドのいずれかに格納できます。 時間値は、追加情報として Date フィールドと TimestampOffset フィールドに格納でき、TimeOnly フィールドに別の値として格納できます。

[属性検索 (Select Layer By Attribute)] ツールや、それに類似するクエリ作成のダイアログ ボックスを使用した日付値の選択と表示は、SQL 構文を使用して行います。 日付値の選択と表示に使用される SQL 構文は、データベースの種類によって異なります。 詳細については、「SQL リファレンス」のトピックをご参照ください。

属性テーブルでの日付フィールドの計算と表示には、異なる形式と構文が使用されます。 これは、ArcGIS AllSource のフィールド演算が Python 関数を使用しており、表示形式が、システムの基本となるデータベースの形式ではなく、地域設定に依存するためです。

日付の表示

シェープファイルは、日付を Date フィールドに yyyy-mm-dd 形式で格納します。 ジオデータベースは、Date、DateOnly、TimeOnly、または TimestampOffset フィールドのいずれかに日時の値を格納します。 Date フィールドを使用する場合、日付は datetime yyyy-mm-dd hh:mm:ss AM (または PM) 形式に設定され、DateOnly および TimeOnly フィールドではそれぞれの部分のみが使用されます。 TimestampOffset フィールドには、Date フィールドと同じ情報に加え、(UTC からの) タイムゾーン オフセット値 (時間単位) が含まれます。 Windows システムの設定によって、M/d/yy、MM/dd/yy、yy/MM/dd などのように、日付が ArcGIS AllSource で表示される方法が決まります。 ArcGIS AllSource は、日付の表示にシステムの短い日付形式 (数値) を使用します。 これらはデフォルトの形式ですが、テーブルとポップアップの両方で日付が異なる形式で表示されるようにすることもできます。

ArcGIS AllSource は、Windows の日付形式の設定に従います。

注意:

Web フィーチャ レイヤーの日付フィールドのタイム ゾーン情報は、フィールド ヘッダーのツールチップに表示されます。また、これらの値を編集する際にすべてのカレンダー コントロールにも表示されます。 優先タイム ゾーンが設定されている場合を除き、デフォルトでは値が世界協定時 (UTC) に設定されています。 タイムゾーンを含むマップまたはフィーチャ サービス設定の編集は、ホスト側で実施する必要があります。

日付フィールドを使用したフィルター処理

テーブル プロパティで日付フィールドに時間が定義されている場合、テーブルは自動的にそのレコードをフィルター処理し、現在のタイム スライダーの範囲内にあるレコードのみを表示します。 マップ ビュー内でタイム スライダーのステップ間隔を指定するか、スライダーを再生すると、現在の期間内にあるレコードだけがテーブルに表示されます。

注意:

カタログ ビューまたは [カタログ] ウィンドウから開かれたテーブルは、アクティブなタイム スライダーによる影響を受けません。

デフォルトでは、マップ内で時間が有効になっている場合にフィルターが適用されます。 すべてのレコードをテーブルに表示するには、テーブル ビューの下部にある [時間によるフィルター] 時間によるフィルター をオフにします。 テーブルのフィルター オプションには、[テーブル] タブの [フィルター] グループからもアクセスできます。

日付フィールドの計算

フィールド演算は、日付値を計算する際に Python の datetime 関数を使用します。 関数の一部は、yyyy-mm-dd hh:mm:ss AM または PM 形式の日時をサポートしています。ただし、DateOnly フィールドまたは TimeOnly フィールドに格納された値は、そのタイプに適用できる関数のみをサポートします。 シェープファイルでは、datetime 値の時間の部分が切詰められます。 たとえば、「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 リファレンス ガイド」をご参照ください。