我从数据库里面查出一张表显示在表格控件。。表里有个字段“接受日期”,现在我想根据这个字段在表格分组显示,,大概分为 “今天,本周,上周,上月”几个时间段。就像OUTLOOK样子。请问如何根据当前时间来判断这几个分类啊

解决方案 »

  1.   

    在检索的时候 做个判断
    case
      when datediff(day,日期字段,getdate())=0 then '今天'
      when datediff(day,日期字段,getdate())>0 and datediff(day,日期字段,getdate())<=7 then '本周'
     when datediff(day,日期字段,getdate())>7 and datediff(day,日期字段,getdate())<=14 then '上周'
     when datediff(month,日期字段,getdate())=1 then '上月'
    ...
    end as 分类
      

  2.   

    能不能在程序里面判断,不在SQL语句判断啊
      

  3.   

    System.DateTime.Now.ToString()
    System.DateTime.Now.AddDays(-7)
      

  4.   

    这种需要最好在检索的时候判断,如果非要在程序里判断,这样            //dt为取出的datetime类型的数据
                DateTime now = DateTime.Now;
                if ((now.Day - dt.Day) == 0)
                {
                    //今天
                }
                else if ((now.Day - dt.Day) <= 7 )
                {
                    //本周
                }
                else if ((now.Day - dt.Day) <= 14)
                {
                    //上周
                }
                else if ((now.Month - dt.Month) == 1)
                {
                    //上月
                }
                else
                {
                    //好久以前
                }