c# - 如何从两个日期中获取工作周

标签 c#

<分区>

比方说,我有两个日期订单日期 - 1/1/2014 和交货日期 - 6/2/2014。现在,如果我想计算需要多少工作周(订单日期-交货日期),我该如何在 C# 中完成。

最佳答案

如果你想要一个日期范围内的工作天数,你可以使用这个:

        var from = DateTime.Today.AddDays(-10);
        var to = DateTime.Today;
        var daysOfWeek = new DayOfWeek[] { DayOfWeek.Monday, DayOfWeek.Tuesday
                                          , DayOfWeek.Wednesday, DayOfWeek.Friday
                                          , DayOfWeek.Thursday };


        var days = Enumerable.Range(0, 1 + to.Subtract(from).Days)
                             .Select((n, i) => from.AddDays(i).DayOfWeek)
                             .Where(n => daysOfWeek.Contains(n.DayOfWeek));

如果您想要日期范围内的周数,请使用:

        (int)((to - from).TotalDays/7)

关于c# - 如何从两个日期中获取工作周,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21597792/

相关文章:

c# - 如何在 C# WinForms 中的 Label 上编写二次方程?

c# - 在 Windows Server 2008 或更高版本上检测提升的权限

c# - Q深度学习算法不工作

c# - 如何在 VS2010 中创建 STA(单线程单元)控件

c# - 在 HTML 中,这个属性的名称是什么?

c# - 空合并运算符是否有 "opposite"? (……用任何语言?)

c# - 任务在应该完成的时候一直循环

c# - 具有初始化程序引用实例成员的自动属性

c# - C# 中是否有不是 MulticastDelegate 的委托(delegate)?

c# - 函数和方法的区别