2

我正在使用 vs 2010。

下面的代码是我如何在 2 个文本框中输入 2 个日期。我想知道如何计算编号。他们之间的天数。如果可能的话,你能告诉我如何提前从那个数字起飞星期天吗?thnx

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

3 回答 3

3

这应该有效。

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

但是,这并不排除周日。

于 2012-06-01T17:22:40.600 回答
1

您可以使用DateTime.Substract进行计算。
使用返回的 TimeSpan 对象计算和删除星期日应该很容易。
编辑
Jon 的评论是正确的,并且仅使用 TimeSpan 来获取星期天并不是一件容易的事。下方评论中提供的链接(由 louis 提供)似乎完成了这部分工作

于 2012-06-01T17:24:33.437 回答
0

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

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

 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 { 获取;放; }

于 2012-06-01T17:31:00.253 回答