DataTimePicker几个主要属性分别设置如下:Format :"yyyy-MM-dd HH:mm";  Kind :"dtkTime",Date :"2007-7-18",time:"17:05",为什么程序运行后,我把DataTimePicker的值改变后,用showmessage(datetimetostr(DateTimePicker1.datetime))后显示的仍然是"2007-7-18 17:05"不知为什么会这样?

解决方案 »

  1.   

    你什么怎么样? datetimetost并不会以DateTimePicker的Format属性来转换格式.你可以使用FormatDateTime函数~
      

  2.   

    我指的不是格式,而是显示的时间问题,比如程序运行后,我把datetimepicker1的值设定为:2007-7-20 17:05后显示却是在属性中Date和time里的值(2007-7-18 17:05),而不是2007-7-20 17:05
      

  3.   

    设定后是要回车或者光标移动后,这个值才会更新的,类似ado里面的post。
      

  4.   

    楼主,当你设置Kind:=dtkTime ,对控件日期的更改不起作用,只对时间的更改有效,应该想办法获得文本框的值
      

  5.   

    你可以这么获得值
    procedure TForm1.Button1Click(Sender: TObject);
    var str:string;
        sp:pchar;
    begin
      GetMem(sp,30);
      DateTimePicker1.GetTextBuf(sp,30);
      str:=sp;
      ShowMessage(str);
    end;