2013-05-26 59 views
2

我有一個顯示用戶想要銷售的物品的中繼器。在轉發的一個欄目,該CreateDate或項目被張貼日期顯示,像這樣:從開始日期剩餘天數顯示不正確

 //lblExp.Text originally contains 2013-05-24 14:24:08.000 

     Label lblExp = (Label)e.Item.FindControl("lblExp"); 
     DateTime StartDate = Convert.ToDateTime(lblExp.Text); 

     DateTime expDate = StartDate.AddDays(30); 
     int DaysLeft = (expDate - StartDate).Days; 
     lblExp.Text = DaysLeft.ToString(); 

當該代碼執行,我得到30,而不是28

+5

爲什麼你期待得到28? – Douglas

+0

您剛剛使'expDate'等於'StartDate' + 30天。你爲什麼期望'expDate - StartDate'是28? – Steve

+0

好吧,我想它會減去從開始日期開始的那一天。但我忘了考慮'Now()'部分。哈哈! – Skullomania

回答

2

這是你想要什麼說? (用DateTime.Now代替StartDate

//lblExp.Text originally contains 2013-05-24 14:24:08.000 

    Label lblExp = (Label)e.Item.FindControl("lblExp"); 
    DateTime StartDate = Convert.ToDateTime(lblExp.Text); 

    DateTime expDate = StartDate.AddDays(30); 
    int DaysLeft = (expDate - DateTime.Now).Days; // Replaced here 
    lblExp.Text = DaysLeft.ToString(); 
+0

+1:合理的猜測。 – Douglas

+0

感謝Gjeltema,我想我一直盯着它太久了。我想知道我在那個日期的位置,忘了所有關於「Now()」的因素。 – Skullomania