首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从两次约会中获得工作周

如何从两次约会中获得工作周
EN

Stack Overflow用户
提问于 2014-02-06 16:41:03
回答 5查看 317关注 0票数 2

假设我有两个日期订单日期-2014年1月1日和交货日期2014年6月2日。现在,如果我想要计算一周的工作量(订单日期-交货日期),我如何在c#中完成。

EN

回答 5

Stack Overflow用户

发布于 2014-02-06 16:58:54

如果您想要某个日期范围内的工作天数,您可以使用以下命令:

代码语言:javascript
复制
        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));

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

代码语言:javascript
复制
        (int)((to - from).TotalDays/7)
票数 1
EN

Stack Overflow用户

发布于 2014-02-06 16:47:45

我假设你所说的“每周工作时间”是指“每天工作多少天”。这不是那么简单,因为它取决于文化,你需要考虑假日。

如果您依赖于从星期一到星期五的工作日,您可以使用类似于c# DateTime to Add/Subtract Working Days中讨论的解决方案,在条件成立的情况下从Order Date计算到Delivery Date的每一天。

问答仍然给你留下了如何确定某个地区的假日的问题(请注意-在瑞士,这个国家的每个地区都有不同的假日!)。

更新:来自Nagaraj的建议链接我猜你可能也会将"weeks“称为chunks (即”它花费了多少工作周“)。如果是这样,反过来,您将需要定义一周中必须使用多少天才能将一周考虑在内……

票数 0
EN

Stack Overflow用户

发布于 2014-02-06 16:48:00

代码语言:javascript
复制
(int)((DeliveryDate-OrderDate).TotalDays/7)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21597792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档