C#参数日期基于星期几 [英] C# parameters date based on day of week

查看:54
本文介绍了C#参数日期基于星期几的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好。我是新手C#

我想在参数中插入日期:

如果当天星期一是星期五

如果当前星期二是星期一

如果当天是星期三,请选择星期二

如果当天是星期四选择环境

如果当天是星期五选择星期四

如果星期五选择了当前星期六,那么
如果当前星期日是星期五





我有一种根据上述条件选择日期的方法



public static DateTime GetDateBackDayStart(DateTime date)

        {

            int numweek = GetNumWeek(date.DayOfWeek.ToString());

            if(numweek == 1)

            {

                return date.AddDays(-3).Date;

            }¥b $ b            if(numweek == 7)

            {

                return date.AddDays(-2).Date;

            }¥b $ b           否则

            {

                return date.AddDays(-1).Date;

            }¥b $ b        }






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

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"));





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

Hello. I am newbie in C#
I want to insert a date in parameters:
If current day Monday is Friday
If current Tuesday day is Monday
If current day is Wednesday choose Tuesday
If current day is Thursday choose the environment
If current day is Friday to select Thursday
If current Saturday day is selected on Friday
If current Sunday day is Friday


I have a method that selects date according to my condition above

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;
            }
        }



I have a command that returns date in format:
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"));


How to write condition of date substitution in parameters @date1  @date2 in format "dd.MM.yyyy" using the method GetDateBackDayStart?

推荐答案

在参数@ date1  @ date2中以格式"dd.MM.yyyy"写出日期替换条件使用方法GetDateBackDayStart?

How to write condition of date substitution in parameters @date1  @date2 in format "dd.MM.yyyy" using the method GetDateBackDayStart?

不,这不对。您声明了SqlDbType.DateTime类型的SQL参数。这种类型没有格式。它是二进制的。因此,您必须直接传递datatime值,而不将其转换为字符串,因此不应用任何
格式:

No, this is not right. You are declaring your SQL parameters of type SqlDbType.DateTime. This type DOES NOT HAVE A FORMAT. It is binary. So you have to pass directly the datatime value, without converting it to string, and therefore without applying any format:

cmd.Parameters.Add(" @ date1", SqlDbType.DateTime).Value = GetDateBackDayStart(DateTime.Today.AddDays(-1));

cmd.Parameters.Add("@date1", SqlDbType.DateTime).Value = GetDateBackDayStart(DateTime.Today.AddDays(-1));


这篇关于C#参数日期基于星期几的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆