我遇到个时间对比的问题,我数据库是这种时间2010-12-04~2010-12-13,然后我取当前时间和它,如果比当前时间大的话就显示出来,但是当我输入2010-2-04这个日期的时候它不显示,请问有什么方法可以解决?

解决方案 »

  1.   

    if(ConvertTo.DateTime("2010-12-04")>DateTime.Now)
    {
     ...
    }
      

  2.   

    SELECT * FROM P_BBXXB where pxtiem>当前时间  就是这样一条语句
      

  3.   

     用这个,当dt2早过dt1时(dt2<dt1)是显示负数的:       
            DateTime dt1 = Convert.ToDateTime("2007-3-24 11:29:12");
            DateTime dt2 = Convert.ToDateTime("2007-2-24 10:29:12");
            TimeSpan ts = dt1 - dt2;        string timespan = "相差:"
            + ts.Days.ToString() + "天"
            + ts.Hours.ToString() + "小时"
            + ts.Minutes.ToString() + "分钟"
            + ts.Seconds.ToString() + "秒";
            Label1.Text = timespan;
      

  4.   

    而且我数据库里面的时间是没有取出来的那种,就是要弄个查询语句去查大于当前时间的数据DateTime dqtime = DateTime.Now;
            string tme = dqtime.ToString();
            string strSql = " where 1=1 and UNCHECK='True' and pxtime > '" + tme + "'";
            if (where != "")
            {
                strSql += where;
            }
            DataSet ds = tlgbpx.BLL.BBXXB.getDataSet(strSql);
    这个是我写的代码
      

  5.   

    SELECT * FROM P_BBXXB where pxtiem>Datetime.Now
      

  6.   

    SELECT * FROM P_BBXXB where pxtiem>Datetime.Now
      

  7.   

    pxtime字段里的值是:2010-12-04~2010-12-13
    这样的形式?
      

  8.   

    sqlserver:   
      sql="select   *   from   exam_test   where   getdate()   between   starttime   and   endtime   "   
      access:   
      sql="select   *   from   exam_test   where   now()   between   starttime   and   endtime   "   
      

  9.   

    SELECT * FROM P_BBXXB where substring(pxtime,12,10) > getdate()
      

  10.   

     近两个星期   
      sql="select   *   from   table   where   datediff(week,riqi,getdate())<=2"   
        
      近三个月   
      sql="select   *   from   table   where   datediff(month,riqi,getdate())<=3"   
        
      近一年   
      sql="select   *   from   table   where   datediff(year,riqi,getdate())<=1"   
      

  11.   

    <%# DateTime.Parse(Eval("NDate").ToString()).ToString("yyyy-MM-dd") %>
    红色部分就是你想换的format
      

  12.   

    你想办法截取下吧,把~前后的截取出来在转换成Datetime型的进行比较
      

  13.   


    请教一下,substring(pxtime,12,10)这段是里面的12,10是什么意思?
      

  14.   

      /// <summary>
        /// 
        /// </summary>
        /// <param name="str">要截取的字符串</param>
        /// <param name="start">开头</param>
        /// <param name="last">结束</param>
        /// <returns></returns>
        public static string yuan(string str, string start, string last)
        {        if (str.ToLower().IndexOf(start.ToLower()) >= 0)
            {
                str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().IndexOf(last.ToLower()));
                return str;
            }
            else
            {
                return str = "";
            }
        }
    yuan.("2010-12-04~2010-12-13","2","~");
    这就截取出2010-12-13
      

  15.   


    刚才没来看,substring的用法你去搜一下就知道了
    12是第几个字符开始,10是代表要截取多少个字符
    就像前面有几个人说的那样,把你那个字段里的值需要比较的后半部分截取下来,和getdate()比较,应该是比较好的办法了