SharePoint (Schema.xml) でイベント リストのビューを作成しており、DateTime に従って結果をフィルター処理したい (つまり、2 つの日付の間に開始するイベントのみを表示する)
通常、たとえば次のような CAML クエリを使用します。
<Where>
<And>
<Geq>
<FieldRef Name="Event_x0020_Start_x0020_Date" />
<Value Type=”DateTime”>2009-10-10T10:00:00Z</Value>
</Geq>
<Leq>
<FieldRef Name="Event_x0020_Start_x0020_Date" />
<Value Type=”DateTime”>2009-11-10T10:00:00Z</Value>
</Leq>
</And>
</Where>
ただし、この場合、比較したい日付はフィールドで直接使用できないため、クエリ文字列から取得する必要があります。
使ってみた
<Value Type="DateTime">
<GetVar Scope="Request" Name="Start" />
</Value>
<Value Type="DateTime">
<GetVar Scope="Request" Name="End" />
</Value>
Start と End はクエリ文字列の 2 つの日付です (Type="DateTime" の有無にかかわらず、すべての日付形式を試しました) が、常に空の結果が得られます。日付をハードコーディングすると、クエリは正常に機能します (たとえば、2009-10-10T10:00:00Z)。
クエリ文字列で送信する内容を制御できるので、別の方法があれば変更できます。
では、クエリ文字列で DateTime 形式を取得する方法はありますか? そうでない場合、他に選択肢はありますか?
ありがとう!