我看到这个问题已经解决了Java,JavaScript和PHP,但不是C#.那么,如何计算C#中两个日期之间的天数呢?
所以,我有两个日期,来自UI:
var start = new Date(self.Start()), end = new Date(self.End());
Run Code Online (Sandbox Code Playgroud)
我们需要弄清楚该范围之间的天数,这很容易:
var days = Math.max(0, Math.floor((end - start) / ticksInDay) || 0);
Run Code Online (Sandbox Code Playgroud)
我们使用此数字来计算某种总工作估算值.但是,现在需要这项工作的权力估计不再包括周末.我的第一次尝试是这样的:
var days = Math.max(0, Math.floor((5 / 7) * (end - start) / ticksInDay) || 0);
Run Code Online (Sandbox Code Playgroud)
基本上,如果范围有7天,我们将其乘以(5 / 7)得到5个实际天数.14会给我们10个实际日子.但是,这有一些缺陷.
(5/7)*1 = 0.714285714285714
(5/7)*2 = 1.42857142857143
(5/7)*3 = 2.14285714285714
(5/7)*4 = 2.85714285714286
(5/7)*5 = 3.57142857142857
(5/7)*6 = 4.28571428571429
(5/7)*7 = 5
(5/7)*8 = 5.71428571428571
(5/7)*9 = 6.42857142857143
(5/7)*10 = 7.14285714285714
(5/7)*11 = 7.85714285714286
(5/7)*12 = 8.57142857142857
(5/7)*13 …Run Code Online (Sandbox Code Playgroud)