我有一个搜索页面,其中的文章可以按日期搜索。搜索条件仅适用于月份和年份。 所以每当月份被选中,点击“过滤器” 我把这个月的开始日为“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