|
|
1
0
你的计划似乎应该行得通。确保你将它包装在一个函数中,而不是在你使用它的每个地方进行计算,这样,如果/当你发现你需要考虑假期,你就不必在很多地方更改它。 我能想到的实现假日支持的最佳方法是在循环中一次添加一天。每次迭代,检查是周末还是假日,如果是,请添加另一天并继续(跳过它)。下面是一个伪代码示例(我不知道VB);没有人保证它是正确的。当然,您需要为isWeekend()和isHoliday()提供自己的实现。
我对假期的第一个想法是简单地查找开始日期和结束日期之间的假期数,并将其添加到您的计算中,但这当然不起作用,因为结束日期取决于该时间间隔内的假期数。我认为迭代解决方案是您在假期中得到的最佳解决方案。 |
|
2
1
我使用了.DayOfWeek函数来检查是否是周末。这不包括假期实施。它已经过测试。我意识到这个问题很老,但公认的答案不起作用。然而,我确实喜欢它有多干净,所以我想我应该更新它并发布。我确实改变了while循环中的逻辑。
|
|
3
1
|
|
|
4
0
第二行计算我们必须添加的完整周末的数量,然后将它们乘以2以获得天数。
|
|
|
5
0
|
|
|
6
0
请检查此代码以添加工作日
|
|
|
7
0
|
|
|
8
0
一种方法是从开始日期开始迭代,如果日期不是周六或周日,则每次迭代加上或减去一天。如果零作为IADDAYS传递,则函数将返回dDate,即使该日期是周六或周日。如果这种情况是可能的,你可以玩弄逻辑来得到你想要的结果。
|
|
|
9
0
|
|
|
10
-2
|