计算从日历 (C#) 中选择的 2 个日期之间的天数
本文关键字:日期 之间 选择 日历 计算 | 更新日期: 2023-09-27 18:35:59
im 使用 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;
}
这应该有效。
var days = (Calendar1.SelectedDate - Calendar2.SelectedDate).TotalDays;
但是,这并不排除周日。
您可以使用 DateTime.Substract 进行计算。
使用返回的 TimeSpan 对象计算星期日并删除它们应该很容易。
编辑
乔恩的评论是正确的,仅仅使用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,我相信这是编译的,这只是一个快速而肮脏的建议。
public Nullable SelectedDate { get; set; }