现在有两个DateTimePicker控件DateTimePicker1和DateTimePicker2。分别用其date和timeprocedure TForm54.BitBtn1Click(Sender: TObject);
var systemtime:Tsystemtime;
    DateTime:TDateTime;
begin
  DateTime:=strtodatetime(datetostr(DateTimePicker1.Date)+timetost(DateTimePicker2.Time));
  DateTimeToSystemTime(DateTime,systemtime);
  SetLocalTime(SystemTime);
  close;
end;但是这样程序运行有错: 错误为:‘2005-3-1815:08:11'is not a valid date and time.
请问应该怎么改啊

解决方案 »

  1.   

    也不行啊,strtodatetime后会自动把我的空格去掉了
    还是那样错
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var systemtime:Tsystemtime;
        DateTime:TDateTime;
    begin
      DateTime:=strtodatetime(datetostr(DateTimePicker1.Date)+' '//真的只加了这个空格
    +timetostr(DateTimePicker2.Time));
      DateTimeToSystemTime(DateTime,systemtime);
      SetLocalTime(SystemTime);
      close;
    end;
    以上代码在WIN2003 D7运行通过,不过不知道为什么每次都是按下代码以后程序就结束了,但日期已经更改,希望对楼主有帮助.
      

  3.   

    不要用string作为中间类型
    Int(DateTimePicker1.DateTime)+Frac(DateTimePicker2.DateTime)可以得到合成后的时间,后边就不用多说了