• <strong id="yqse4"></strong>
    <samp id="yqse4"><strong id="yqse4"></strong></samp>
  • <samp id="yqse4"></samp>
    <strong id="yqse4"><menu id="yqse4"></menu></strong>
  • 您好,歡迎進入上海銳呈電氣有限公司網站!
    一鍵分享網站到:
    您現在的位置:首頁 >> 技術文章 >> 從Internet時間服務器獲取標準時間
    從Internet時間服務器獲取標準時間
    瀏覽次數:6159發布日期:2011-04-20

     

    由于本機系統時間不準確,所以決定從Internet 時間服務器獲取標準時間來校正系統時間,說干就干。
      程序設計步驟如下:
      1、 新建一個工程;
      2、 在窗體上放一個TEdit控件和一個TClientSocket(在Internet頁下)控件。TEdit用來顯示取得的格林尼治時間轉化成北京時間后的時間,TClientSocket用來從Internet 時間服務器獲取標準的格林尼治時間;
      3、 程序代碼如下:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      ClientSocket1.Host :='tick.usno.navy.mil';  // 美國*天文臺;
      ClientSocket1.Port :=13;
      ClientSocket1.Open;
    end;
     
    procedure TForm1.ClientSocket1Read(Sender: TObject;
      Socket: TCustomWinSocket);
    var
      TempTime: TDateTime;
      hh,mm,ss,ms: word;
      sTime : string;
    begin
      sTime := Socket.ReceiveText;    // 取得格林尼治時間;
      sTime:=Copy(sTime,12,8);      // 取得時間部分;
      DecodeTime(StrToTime(sTime),hh,mm,ss,ms);  
      hh:=(hh+8) mod 24;           // 轉化成北京時間;
      TempTime:=EncodeTime(hh,mm,ss,ms);
      Edit1.Text :=TimeToStr(TempTime);
    end;
      4、 編譯運行,稍微等幾秒鐘(和你的網絡速度有關,筆者等了大概一秒鐘),TEdit控件就顯示出了由格林尼治時間轉化得到的北京時間。
      怎么樣?很簡單吧。趕快試一下吧!需要說明一點:由于網絡延時的緣故,這個程序得到的時間會和標準時間有幾秒的誤差,但除非你用來控制火箭的發射,否則,這無妨大礙。
      筆者是從美國*天文臺得到標準時間,你還可以從別的時間服務器上獲取時間,但由于每個時間服務器的時間格式不同,所以在編寫程序時要注意作相應的處理。
       域名                                組織
    Clock.sgi.com                       SGI
    Tick.mit.edu                   麻省理工學院
    Time.nist.gov                        NIST

    滬公網安備 31011002000425號

    色一情一乱一伦一区二区三区_国产裸舞表演裸体写真一区二区_久久超超超超碰国产盗摄_亚洲 自拍 交换长篇连载_亚洲春色中文字幕第11页
  • <strong id="yqse4"></strong>
    <samp id="yqse4"><strong id="yqse4"></strong></samp>
  • <samp id="yqse4"></samp>
    <strong id="yqse4"><menu id="yqse4"></menu></strong>