2 つのカレンダーがあるとします。
<asp:Calendar ID="Calendar1" runat="server" />
<asp:Calendar ID="Calendar2" runat="server" />
両方で 2013 年 5 月 16 日をクリックし、次の操作を行ったとします。
Calendar2.SelectedDate = Calendar2.SelectedDate.AddDays(1);
Calendar2.SelectedDate = Calendar2.SelectedDate.AddSeconds(-1);
の値を表示すると、
Calendar1.SelectedDate.ToString();
Calendar2.SelectedDate.ToString();
あなたが得る
05/16/2013 12:00:00 AM
05/16/2013 11:59:59 PM
それぞれ。さて、問題は次のとおりです。次の C# LINQ-to-SQL クエリを記述した場合:
var dates = from d in Database
where d.Date >= Calendar1.SelectedDate &&
d.Date <= Calendar2.SelectedDate
select d;
dates
この日のエントリが存在する場合でも、エントリは選択されません。私は何を間違っていますか?
編集:
ただし、これを行うと:
var dates = from d in Database
where d.Date >= Calendar1.SelectedDate &&
d.Date < Calendar2.SelectedDate.AddDays(1)
select d;
それが動作します。何が起こっている!?