我有一個搜索頁面,其中的文章可以按日期搜索。搜索條件僅適用於月份和年份。 所以每當月份被選中,點擊「過濾器」 我把這個月的開始日爲「dtStartDate」 和每月「dtEndDate」的結束日如何檢查,如果兩個日期之間的c#或Vb.net的另外兩個日期之間
這也給搜索的文章有 有效開始日期爲「EffStartDate」 和有效的結束日期爲「EffEndDate」
那麼應該是什麼狀態,如果,這兩個「EffStartDate」和「EffEndDate」瀑布裏面 「dtStartDate」和「dtEndDate」?
我給了這個嘗試,但結果不正確,
If (EffStartDate >= dtStartDate & EffStartDate <= dtEndDate)
//Do Something
ElseIf (EffEndDate >= ddl_FromDate & EffEndDate <= dtEndDate.AddDays(1)) Then
//Do Something
End If
場景: 讓我們假設有兩篇文章,其將要使用不同的日期進行搜索。現在
Article - 1
EffStartDate = 11/7/2012
EffEndDate = 31/8/2012
Article - 2
EffStartDate = 1/7/2012
EffEndDate = 28/9/2012
,在我的搜索頁面,當我搜索2012年1月7日的文章31/07/2012 我應該看到文章的結果,因爲無論是effstardate和effenddate地方 落在用於搜索的日期之間。 但現在我只看到Artilce - 1。爲什麼?
1)如果你可以使用一個數據庫 「中選擇」 是 「之間」 的條款 - 做到這一點。 2)否則,如果您*必須*在C#代碼中執行此操作(與SQL「選擇」相比),請使用[Date.Subtract/TimeSpan](http://msdn.microsoft.com/zh-cn/library/ 8ysw4sby.aspx)。 – paulsm4 2012-08-08 04:03:19
你能否詳細說明爲什麼結果不正確?你得到的結果和你期望的結果是什麼?你使用LINQ來實體嗎? – gideon 2012-08-08 04:22:22
@gideon請用場景檢查更新後的問題。謝謝 – Anuya 2012-08-08 04:41:08