procedure TForm1.Button1Click(Sender: TObject);var
MYT:Tsystemtime;
begin
MYT.wYear:=2001;
MYT.wMonth:=9;
MYT.wDay:=22;
SetSystemTime(MYT);
end;
我这段程序能编译通过,但本地日期改不了,是怎么回事?

解决方案 »

  1.   

    看返回值非零表示成功,零表示失败。会设置GetLastError
      

  2.   

    给你个例子:
    procedure TForm1.Button1Click(Sender: TObject);
    var systime : _SYSTEMTIME;
    begin
          systime.wYear := 2003;    //2001年12月1日 9:01:01
          systime.wMonth := 9;
          systime.wDayOfWeek :=1;
          systime.wDay := 22;
          systime.wHour := 1;
          systime.wMinute := 1;
          systime.wSecond := 1;
          systime.wMilliseconds := 1;  if SetSystemTime( systime ) then
        Application.MessageBox('修改系统时间成功', 'ok', MB_OK);
    end;
      

  3.   

    再可以用 GetLocalTime(),GetSystemTime()测试就知道了!