我用TNMDayTime控件做一个时间校正的程序,可不知道如何取得服务器的时区,请各位帮忙告诉我,谢谢!

解决方案 »

  1.   

    可以用NTRMTDTE.zip和ntremotedatetime控件,在www.vclxx.org有下载
    或执行下面的代码:
    winexec('NET TIME [\\computer | /WORKGROUP:wgname] [/SET] [/YES]', 2);
      

  2.   

    使用TNMDayTime如下: NMDayTime1.host:=edit1.text;
     NMDayTime1.port:=strtoint(edit2.text);
    // NMDayTime1.Connect;
    try
     temp:=trim(NMDayTime1.DayTimeStr);
     memo1.lines.add(temp);
    except
      raise exception.create('不能连接服务器!');
    end;
     NMDayTime1.Disconnect;
      

  3.   

    无聊,再给你一个:
    procedure TForm1.Button1Click(Sender: TObject);
    var
     a : TSYSTEMTIME;
     T:TDateTime;
     TimeStr:String;
    begin
    Label1.Caption := NMDayTime1.DayTimeStr;
    TimeStr := copy(Label1.Caption,7,18);
    label1.caption := '标准格林威治:'+TimeStr;
    update();
    T:=(StrToDateTime(TimeStr));
    DateTimeToSystemTime(t,a);
    SetSystemTime(a);
    GetLocalTime(a);
    T:=SystemTimeToDateTime(a);
    Label2.Caption := '标准北京时间 :'+DateTimeToStr(t);
    end;
      

  4.   

    可以使用 GetTimeZoneInformation API 函数获得当前系统的区域设置的时区信息。