2013-05-22 70 views

回答

5

TimeSpan.TotalDays物業類型爲double,你可以得到這樣的整數部分:

leave.Amount = (int) (mclDateRange.SelectionEnd - mclDateRange.SelectionStart).TotalDays; 

請看下面的例子:

double d = 123.22d; 
int number = Convert.ToInt32(d.ToString()); 

的會導致進入異常

Input string was not in a correct format. 

因此,在你的代碼,你可以離開了呼叫ToString,這將是罰款,如:

leave.Amount = 
    Convert.ToInt32(
     (mclDateRange.SelectionEnd - mclDateRange.SelectionStart).TotalDays); 
-2

這是我做dateTimePicker的方式希望將致力於monthcalender

DateTime dt; 
DateTime Todate ,FromDate; 
Todate = DateTime.ParseExact(datetimepicker1.Value.Date.ToString("dd/MM/yyyy"), "dd/MM/yyyy", CultureInfo.InvariantCulture); 
      FromDate = DateTime.ParseExact(datetimepicker2.Value.Date.ToString("dd/MM/yyyy"), "dd/MM/yyyy", CultureInfo.InvariantCulture); 


double datedifference = (Todate - FromDate).TotalDays; 

然後可以檢查像這樣的日期檢查

if(datedifference <2) 
{ 
something .......... 
} 
+0

爲什麼要將DateTime對象轉換爲字符串,然後再將其解析爲DateTime?如果你想考慮'日期'部分只使用'datetimepicker1.Value.Date - datetimepicker2.Value.Date'' – Habib

+2

你認真地在你的軟件中使用它? – walther

1

下面是如何區分兩個日期時間對象的分步示例。只是如果你想(4天18個小時等)天圓分數天(在這種情況下5)最近的一個,然後使用TotalDays屬性,並轉換爲int應用此代碼

DateTime startDate = DateTime.Parse("01/01/2013"); 
DateTime endDate = DateTime.Parse("05/22/2013"); 

TimeSpan dateDiff = endDate.Subtract(startDate); 

int dayDiff = dateDiff.Days; 

相關問題