簡體   English   中英

計算兩個日期之間的天數並將其顯示在標簽中

[英]Calculating the Number of Days between two Dates and displaying it in a Label

嗨,我正在嘗試捕獲用戶在 C# 日歷控件中選擇的兩個日期,我希望日期范圍顯示在標簽中。 我已經制定了以下代碼,但它生成了一個 Minus 值; 不是實際的日期范圍。

DateTime from = CalFrom.SelectedDate;
DateTime to = CalTo.SelectedDate;
double days = (CalTo.SelectedDate - CalFrom.SelectedDate).TotalDays;
TimeSpan t = to - from;
double noOfDays = t.TotalDays;
TimeSpan ts = to - from;
double differnceindays = ts.TotalDays;
lblNoofDays.Text = differnceindays.ToString();

這段代碼非常適合我計算兩天之間的天數。

DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.Now.AddDays(10);
TimeSpan difference = d2 - d1;      
var days = difference.TotalDays;
 DateTime.Now.Subtract(startDate).Days.ToString();

嘗試計算兩個日期之間的天數

string days = (date2 - date1).Value.Days.ToString();

我看到的唯一問題是您假設開始日期和結束日期將被正確范圍檢查,這意味着開始日期永遠不會大於結束日期(這會產生總天數的負值)。 如果您想糾正開始日期可能晚於結束日期的事實,那么這應該可行。

DateTime startDate = DateTime.Now.AddDays(-94); // Example random 94 day span..
DateTime endDate = DateTime.Now;
TimeSpan duration = endDate > startDate ? endDate - startDate : startDate - endDate;
double daysBetweenDates = duration.TotalDays;

注意:“daysBetweenDates”將包括小數天數(因此是雙精度型)。 此外,上面的代碼假定本地時間。 如果你想要UTC,你需要考慮到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM