C#参数日期基于星期几

我想在参数中插入日期:

  • 如果当天是星期一是星期五

  • 如果当前星期二是星期一

  • 如果当天是星期三选择星期二

  • 如果当天是周四选择环境

  • 如果当天是星期五,则选择星期四

  • 如果在星期五选择当前星期六

  • 如果当前的星期日是星期五

我有一个方法,根据我上面的条件选择日期

public static DateTime GetDateBackDayStart(DateTime date)
{
    int numweek = GetNumWeek(date.DayOfWeek.ToString());
    if (numweek == 1)
    {
        return date.AddDays(-3).Date;
    }
    if (numweek == 7)
    {
        return date.AddDays(-2).Date;
    }
    else
    {
        return date.AddDays(-1).Date;
    }
}

我有一个以格式返回日期的命令:

cmd.Parameters.Add("@date1", SqlDbType.DateTime).Value = (DateTime.Today.AddDays(-1).ToString("dd.MM.yyyy"));
cmd.Parameters.Add("@date2", SqlDbType.DateTime).Value = (DateTime.Today.AddDays(-1).ToString("dd.MM.yyyy"));

如何使用GetDateBackDayStart方法以“dd.MM.yyyy”格式在参数@ date1 @ date2中写入日期替换条件?

回答(1)

3 years ago

首先调用 GetDateBackDayStart 方法,然后在结果日期 ToString 方法:

string dateParam = GetDateBackDayStart(DateTime.Today.AddDays(-1)).ToString("dd.MM.yyyy");
cmd.Parameters.Add("@date1", SqlDbType.DateTime).Value = 
cmd.Parameters.Add("@date2", SqlDbType.DateTime).Value = dateParam;