需求是这样的 C#实现
“某个月的1日-20日”这里的月份是存在数据库里的一个日期的月份,不是特定的哪个月。

解决方案 »

  1.   

    DateTime.Now.Day 表示当前时间是当月中的第几天...
      

  2.   

    使用sql 实现
    where day(dodate) between 1 and 20
      

  3.   

    select * from tablename where day(datetime1) between 1 and 20 and month(datetime1)=month(datetime2)
      

  4.   

    我只是提示给你day这个属性而已 你可以把那个日期读出来转换为c#的datetime 然后直接取它的day属性就知道了啊
      

  5.   

    select * from tablename1 
    where day(tablename1.datetime1) between 1 and 20 
    and month(tablename1.datetime1)=month(tablename2.datetime2)
    select * from tablename1 
    where to_char(tablename1.datetime1,'dd') between '1' and '20' 
    and to_char(tablename1.datetime1.'mm')=to_char(tablename2.datetime2,'mm')
      

  6.   

    我自己写的,可能效率不高
    if (nowtime >= Convert.ToDateTime(kw_enddate.Year + "-" + kw_enddate.Month + "-" + "1") && nowtime < Convert.ToDateTime(kw_enddate.Year + "-" + kw_enddate.Month + "-" + "21"))
    “kw_enddate”是数据库里存的一个日期,在此省略取值的代码。
      

  7.   

    分开来吧
    我问的是两种情况
    1当前时间在本月的21日前
    判断“在本月的21日前”可以直接用
    nowtime.Day > 202当前时间是否在某个时间所对应的那个月的1号到20号之间
    这个我用以下的代码,可能效率不高,请指正。
    if (nowtime >= Convert.ToDateTime(kw_enddate.Year + "-" + kw_enddate.Month + "-" + "1") 
    && nowtime < Convert.ToDateTime(kw_enddate.Year + "-" + kw_enddate.Month + "-" + "21"))
    “nowtime”是当前时间。
    “kw_enddate”是数据库里存的一个日期,在此省略取值的代码。
      

  8.   

    declare @month int
    select * from tablename where day(datetime1) between 1 and 20 and month(datetime1)=@month
      

  9.   

    DateTime dt =new DateTime();
    dt=DateTime.Now;
    dt.year;//年
    dt.month;//月
    dt.date;//
    dt.day;//
      

  10.   

    如16#
    取当前时间的year和month和day
    取指定时间的year和month
    在两个时间的year和month相等情况下再比较当前时间的day是否在1-21的范围内