相关疑难解决方法(0)

AddBusinessDays和GetBusinessDays

我需要找到2个优雅的完整实现

public static DateTime AddBusinessDays(this DateTime date, int days)
{
 // code here
}

and 

public static int GetBusinessDays(this DateTime start, DateTime end)
{
 // code here
}
Run Code Online (Sandbox Code Playgroud)

O(1)优选(无环).

编辑:工作日我指的是工作日(周一,周二,周三,周四,周五).没有假期,只是周末排除在外.

我已经有一些似乎有效的丑陋解决方案,但我想知道是否有优雅的方法来做到这一点.谢谢


这就是我到目前为止所写的内容.它适用于所有情况,也会产生负面影响.仍然需要GetBusinessDays实现

public static DateTime AddBusinessDays(this DateTime startDate,
                                         int businessDays)
{
    int direction = Math.Sign(businessDays);
    if(direction == 1)
    {
        if(startDate.DayOfWeek == DayOfWeek.Saturday)
        {
            startDate = startDate.AddDays(2);
            businessDays = businessDays - 1;
        }
        else if(startDate.DayOfWeek == DayOfWeek.Sunday)
        {
            startDate = startDate.AddDays(1);
            businessDays = businessDays - 1;
        }
    }
    else
    {
        if(startDate.DayOfWeek …
Run Code Online (Sandbox Code Playgroud)

.net c#

85
推荐指数
4
解决办法
6万
查看次数

标签 统计

.net ×1

c# ×1