代码计算no.指两个日期之间的天数

本文关键字:日期 两个 之间 no 计算 代码 | 更新日期: 2023-09-27 18:03:22

c#代码计算no。两次约会之间的天数……我有开始日期在一个文本框和结束日期在另一个文本框,我需要得到没有。两个日期之间的天数,将显示在第三个文本框中,它应排除假日和周末(星期六和星期日)。

代码计算no.指两个日期之间的天数

您可以解析文本框日期到日期时间对象,然后在下面几行尝试一些东西。

DateTime startDate = new DateTime(2013, 03, 01);
DateTime endDate = DateTime.Today; // 12 March 2013
int totalDays = 0;
while (startDate <= endDate)
{
    if (startDate.DayOfWeek == DayOfWeek.Saturday
        || startDate.DayOfWeek == DayOfWeek.Sunday)
    {
        startDate = startDate.AddDays(1);
        continue;
    }
    startDate = startDate.AddDays(1);
    totalDays++;
}
Console.WriteLine("Total days excluding weekends: {0}", totalDays);
 var dateDiff = FirstDate - SecondDate; 
 double totalDays = dateDiff.TotalDays;

如果文本框中有两个日期即textBox1和textBox2

DateTime date1= new DateTime();
DateTime date2 = new DateTime();
double days;
bool isDate1Valid =DateTime.TryParse(textBox1.Text, out date1);
bool isDate2Valid =DateTime.TryParse(textBox2.Text, out date2);
if(isDate1Valid && isDate2Valid)
days = (date1-date2).TotalDays;

编辑

如果你需要在不循环的情况下执行,可以这样做。

如果日期差异太大,循环可能会消耗一些额外的时间。

试试这个…

    DateTime startdate = DateTime.Parse("somedate");
    DateTime enddate = DateTime.Parse("somedate");
    int daycount = 0;
    while (startdate < enddate)
    {
        startdate = startdate.AddDays(1); // Fixed
        int DayNumInWeek = (int)startdate.DayOfWeek;
        if (DayNumInWeek != 0)
        {
            if (DayNumInWeek != 6)
            { daycount += 1; }
        }
    }