sql >> データベース >  >> RDS >> Sqlserver

休日を避けて指定日の14日前を取得する方法

    以下のような関数を使用して日付を計算します (これを使用します)

    public static DateTime AddBusinessDays(DateTime date, int days)
     {
        if (days == 0) return date;
    
       if (date.DayOfWeek == DayOfWeek.Saturday)
       {
        date = date.AddDays(2);
        days -= 1;
      }
      else if (date.DayOfWeek == DayOfWeek.Sunday)
      {
        date = date.AddDays(1);
        days -= 1;
      } 
    
    
    
     date = date.AddDays(days / 5 * 7);
     int extraDays = days % 5;
    
     if ((int)date.DayOfWeek + extraDays > 5)
     {
        extraDays += 2;
     }
    
    int extraDaysForHolidays =-1;
    //Load holidays from DB into list
    List<DateTime> dates = GetHolidays();
    
    while(extraDaysForHolidays !=0)
    {
    
     var days =  dates.Where(x => x >= date  && x <= date.AddDays(extraDays)).Count;
     extraDaysForHolidays =days;
     extraDays+=days;  
    }
    
    
    return date.AddDays(extraDays);
    

    }

    休日を行う ast セクションをテストしていません



    1. MySQLローカルホスト/127.0.0.1の問題

    2. ニージャークパフォーマンスチューニング:SSDを追加するだけ

    3. 新しい列を追加した後にactiveandroidでテーブルを更新する方法

    4. MySQLはテーブルから1つのフィールドを選択しますWHERE条件は複数の行にあります