//string time = dateTimePicker1.Value.Date.ToString("yyyy-MM-dd ");
                //newdata.data_time = Convert.ToDateTime(time);                newdata.data_time = Convert.ToDateTime(dateTimePicker1.Text);我从dateTimePicker1中接受的值是2011-08-23 但一转换为datatime就变成了2011-08-23 00:00:00 上面两种方法不行,求帮忙啊~~~

解决方案 »

  1.   

    datatime类型永远会有时分秒,改数据库类型吧,用date型。
      

  2.   

    我用的是access 数据库 时间类型是 时间/日期  常规日期   请问该怎么改?
      

  3.   

    Convert.ToDateTime(dateTimePicker1.Text)
    插入数据库中有00:00:00取出来的时候转换下呗ToString("yyyy-MM-dd ");
      

  4.   

     应该这样
      Convert.ToDateTime(dateTimePicker1.Text).Year()+Convert.ToDateTime(dateTimePicker1.Text).Month()+Convert.ToDateTime(dateTimePicker1.Text).Day()
      

  5.   


    我需要读取的是dateTimePicker中用户选取的日期,请问该怎么办?是否像二楼说的那样只能 改数据库?那么怎么改  我用的是access 数据库 时间类型是 时间/日期 常规日期
      

  6.   

    Convert.ToDateTime(dateTimePicker1.Text)
    .ToLongDateString()
     或者 Convert.ToDateTime(dateTimePicker1.Text)
    .ToString("yyyy/MM/dd")
      

  7.   

    带时分秒有关系吗,没关系吧,只是显示上有问题。如果你要的显示,你可以使用year(),month(),day()方法来重新定义你的datetime
      

  8.   

    DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString()
      

  9.   


    我知道关系不大 可是 程序老是报错 提示标准表达式中数据类型不匹配
     //检查数据是否重复
            public static bool CheckData(data newdata)
            {
                bool rst = false;
                string sqlStr = "select * FROM data WHERE user_id='" + newdata.user_id + "' and data_time="+"#"+newdata.data_time+"#";
                int rows = DBManager.ExecuteUpdate(sqlStr);
                if (rows > 0)
                {
                    rst = true;
                }
                return rst;
            }
      

  10.   

    如果楼主只用日期部分,那么数据库中存储什么类型也没什么大的影响,只要将读出来的日期用截取字符串的方法截取出日期部分就可以了
    另外ToShortDateString()方法应该也可以提出楼主要的日期部分吧
      

  11.   

    LZ我觉得你没搞清你想干什么。
    首先,用户只关心他看到的,至于你数据库存的带时间与否,用户不关心。现在你用的是Access数据库,可能没有Date类型,那么你存入数据库前处理时间就没意义了,只要输出的时候格式化一下就可以了。
    如果你用其他的数据库,有date类型的,存入前只取日期就有意义了,这样读取的时候就可以不用处理了。
      

  12.   

    dateTimePicker1设置
    Kind属性设为:dtkTime 
    Format属性设为:HH:mm:ss
      

  13.   

    楼主的意思是:现在数据库中类型有00:00:00 ,而你得到的time数据却只用日期部分,和数据库不符合,
    所以无法存储数据和操作数据库数据?
      

  14.   

    开启时间模式 你用的自定义控件?
    看看有没有FormatType属性 
      

  15.   

    access日期型的月、日存储时前面不自动加零,newdata.data_time把月和日前面多余的零去掉试试吧。
      

  16.   


    我是一个查询语句,select * FROM data WHERE user_id=" + newdata.user_id + " and data_time="+"#"+newdata.data_time+"#"接收到数据以后切断点观察是 select * FROM data WHERE user_id=2 and data_time=#2011-8-23 0:00:00#"  这样程序是什么也查不到的 因为数据库中 data_time 是 2011-8-23。请问怎么办?我想只把newdata.data_time赋值为2011-8-23 但做不到,他总是 加上  0:00:00
      

  17.   


    select * FROM data WHERE user_id=" + newdata.user_id + " and data_time="+"#"+newdata.data_time.ToShortDateString()+"#"
      

  18.   

    string dateString = date.ToString(date.ToString("yyyy")) + date.ToString(date.ToString("MM")) + date.ToString(date.ToString("dd"));
                return dateString;长度固定,年月日之间没有其余字符的纯年月日的字符串
      

  19.   

    取出来的时候转换下呗ToString("yyyyMMdd ");
      

  20.   

    试试这样:Convert.ToDateTime(dateTimePicker1.Text.Trim()).ToString("yyyy/MM/dd");