2012-03-07 203 views
0

我遇到了一個問題,即我的應用程序正在根據FROM和TO日期搜索交易。根據日期範圍選擇交易

允許使用下面的示例:

TRANS1:14-FEB-2012 2時23分36秒

TRANS2:07-FEB-2012 3點23分47秒

在C#我的日期範圍是如下:

startDate.Date {2012年7月2日12:00:00 AM}

endDate.Date {14/02/2012 12:00:00 AM}

下面的代碼行總是排除交易,如果他們落在結束日期,因爲結束日期總是被設置爲12:00 00:00(基於DateTime.Now)

if (trans.TransactionDate >= startDate.Date && 
            trans.TransactionDate <= endDate.Date) 
{ 
    // do stuff 
} 

如何正確處理這使得其包括第14屆所有交易呢?是否安全,做到以下幾點:

更改12:00:00 AM至12:00:00 PM

if (trans.TransactionDate >= startDate.Date && 
        trans.TransactionDate <= endDate.Date.AddHours(12)) 
{ 
    // do stuff 
} 
+1

'endDate.Date.AddHours(12) '將包括交易直到當天中午......可能不是你想要的。嘗試'endDate.Date.AddDays(1.0)'。 – 2012-03-07 03:59:11

+1

...並將'<='改爲'<' – Jay 2012-03-07 04:02:26

回答

1

這可能工作:

if (trans.TransactionDate.Date >= startDate.Date && trans.TransactionDate.Date <= endDate.Date) 
{ 
    // do stuff 
} 
+0

謝謝,我認爲這是一個更好的解決方案。 – FaNIX 2012-03-07 04:29:36