2016-11-23 44 views
-1

過去了,我想檢查是否因爲日期的天一定數量的已經過去了,如果有則改網格行的顏色。 因此,如果日期是2016年11月12日,並且我想檢查自該日期以來是否已過去10天。檢查的天數,因爲日期

if (dt.Date > dt.Date.AddDays(10)) 
{ 
    e.Item.Style.Add("background-color", "#C400F9"); 
    break; 
} 

因此增加10天至12日將是22/11/2016既然今天是23/11/2016是裝置10幾天一直通過。但網格中的所有行都正在改變顏色。我是否需要添加另一個if語句來比較日期+傳遞到今天的日期?

+0

你有沒有貼相關的例子?條件'dt.Date> dt.Date.AddDays(10)'永遠不會被滿足,所以行不能根據這個條件改變顏色。很難說你的* real *條件有什麼問題...... –

+0

每個人都提到了比較問題,我假設這只是示例代碼,因爲沒有行會得到顏色,而你說每行都得到了它。 'dt'是全球日期,還是行的日期? – bixarrio

+0

[如何相對時間在C#中計算?(http://stackoverflow.com/questions/11/how-can-relative-time-be-calculated-in-c) – VDWWD

回答

3

您的意思是用今天的日期?如果是這樣,這是DateTime.Now

if (DateTime.Now > dt.Date.AddDays(10)) 

在您比較dt.Date針對同一日期加10天的時刻 - 爲別人注意,這將永遠不會得到滿足。

更新。正如蒂姆在評論中所言,使用DateTime.Today可能更合適。

+0

更好地利用'DateTime.Today',而不是'這裏DateTime.Now',否則半夜會返回false,但一秒鐘後你會得到真正的,都是同一天 –

+0

@TimSchmelter,謝謝,這個建議 – Andrei

0

你的問題在於你的比較。你試圖找出是否dt大於dt + 10.顯然它永遠不會是真的。

0

您的比較將永遠是真實的,這就像做:

如果(10> 10 + 10)...

你想要做今天之日起10天比較有什麼使用DateTime.Now

0
if (DateTime.Now.Date> dt.Date.AddDays(10).Date) 
{ 
    e.Item.Style.Add("background-color", "#C400F9"); 
    break; 
} 
0

如果(DateTime.Now.Date> dt.Date.AddDays(10)){

}

0

你可以試試這個,下面X是您要使用比較日期(它可以來自DB或硬編碼的日期)

if (X > dt.Date.AddDays(10)) 
     { 
      e.Row.Attributes.Add("background-color", "#C400F9"); 
     } 
+0

更新這正是與OP相同的代碼在他們的問題中。你是否想將它編輯成別的東西? – ChrisF

0
DateTime d1; 
DateTime d2; 

if((d1 - d2).TotalDays == 10) 
{ 
    //some code 
} 
相關問題