如何使用c#

时间:2019-07-08 10:09:22

标签: html asp.net-mvc

我需要计算每个开始和停止时间间隔之间不包括公共假期的工作日期数。我的应用程序有一个用于启动和停止的切换按钮。我成功地获得了第一个开始日期和最后一个停止日期之间的日期数,但是我还需要删除每个停止和开始日期之间的间隔。任何帮助将不胜感激。

我创建了这种方法来计算天数:

  public int ElapseDays(string caseNo )
        {
            int count = 0;
            int weekEndsCount;
            Boolean excludeWeekends = true;

            using (var db = new EMSDEntities())
            {
                var q = (from a in db.SY_HOLIDAYS
                         orderby a.HLD_DATE
                         select new HolidayListViewModel
                         {
                            HolidayDate = a.HLD_DATE,

                         }).ToList();

                var startDate = DateTime.Parse("01/07/2019"); 
                var StopDate = DateTime.Parse("08/07/2019"); 

                for (DateTime index = startDate; index < StopDate; index = index.AddDays(1))
                {
                    if (excludeWeekends && index.DayOfWeek != DayOfWeek.Sunday && index.DayOfWeek != DayOfWeek.Saturday)
                    {
                        bool excluded = false;
                        for (int i = 0; i < q.Count; i++)
                        {
                            if (index.Date.CompareTo(q[i].HolidayDate) == 0)
                            {
                                excluded = true;
                                break;
                            }
                        }

                        if (!excluded)
                        {
                            count++;
                        }
                    }
                }
                weekEndsCount = count;

            }


            return weekEndsCount;
        }

这给了我o / p:6,删除了周六和周日

预期结果

<!DOCTYPE html>
<html>
<body>

<h2>Basic HTML Table</h2>

<table style="width:100%">
  <tr>
    <th>start_date</th>
    <th>end_date</th> 
  </tr>
  <tr>
    <td>01/07/2019</td>
    <td>03/07/2019</td>

  </tr>
  <tr>
    <td>05/07/2019</td>
    <td>08/07/2019</td>
  </tr>
</table>

</body>
</html>

预期o / p:5

0 个答案:

没有答案