计算从日历中选择的2个日期之间的天数(C#)

时间:2012-06-01 17:20:46

标签: c# .net visual-studio-2010 webpage

即时通讯使用vs 2010。

下面的代码是我如何在2个文本框中放置2个日期。我想知道如何计算no。在他们之间的日子。如果可能的话,你可以告诉我如何从那个号码中提取星期日。提前付款

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;
}

3 个答案:

答案 0 :(得分:3)

这应该有用。

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

然而,这并不排除星期日。

答案 1 :(得分:1)

您可以使用DateTime.Substract进行计算。
使用返回的TimeSpan对象计算星期日并删除它们应该很容易。
修改
Jon对他的评论是正确的,并且使用TimeSpan获得星期日并非易事。评论中提供的链接(路易斯)似乎可以完成这部分工作

答案 2 :(得分:0)

通过减去两个TimeSpan值来计算DateTime

以下代码可以帮助您入门。

 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,我相信这可以编译,这只是一个快速而肮脏的建议。

  

public Nullable SelectedDate {get;组; }