即时通讯使用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;
}
答案 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;组; }