簡體   English   中英

計算從日歷(C#)中選擇的兩個日期之間的天數

[英]calculating number of days between 2 dates chosen from calendar(C#)

我正在使用vs 2010。

下面的代碼是我如何在2個文本框中放入2個日期。我想知道如何計算否。 他們之間的間隔天數。如果可以的話,你能告訴我如何提前從該數字開始起飛。

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Calendar1.Visible = true;

}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
    TextBox3.Text = Calendar1.SelectedDate.ToLongDateString();
    Calendar1.Visible = false;
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
    Calendar2.Visible = true;

}
protected void Calendar2_SelectionChanged(object sender, EventArgs e)
{
    TextBox4.Text = Calendar2.SelectedDate.ToLongDateString();
    Calendar2.Visible = false;
}

這應該工作。

var days = (Calendar1.SelectedDate - Calendar2.SelectedDate).TotalDays;

但是,這不排除星期日。

您可以使用DateTime.Substract進行計算。
使用返回的TimeSpan對象,可以輕松地計算並刪除星期日。
編輯
喬恩(Jon)的評論是正確的,僅使用TimeSpan來獲取周日並非易事。 盡管在下面的評論中提供的鏈接(由路易斯提供)似乎完成了這部分工作

通過減去兩個DateTime值來計算TimeSpan

以下代碼將幫助您入門。

 if ( Calendar2.SelectedDate != null && Calendar1.SelectDate != null )
 {
      TimeSpan Value;
      if ( Calendar2.SelectedDate >= Calendar1.SelectedDate )
           Value = (Calendar2.SelectedDate - Calendar1.SelectedDate).TotalDays;
      else
          Value = (Calendar1.SelectedDate - Calendar2.SelectedDate).TotalDays; 
 }

我目前沒有訪問Visual Studio的權限,我相信可以編譯,這只是一個快速而骯臟的建議。

公共Nullable SelectedDate {get; 組; }

暫無
暫無

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

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