码迷,mamicode.com
首页 > Windows程序 > 详细

Delphi 获取北京时间(通过百度和timedate网站)

时间:2015-11-26 23:20:05      阅读:561      评论:0      收藏:0      [点我收藏+]

标签:

方法一:

 

[delphi] view plaincopyprint?
 
  1. uses  
  2.    ComObj, DateUtils;  
  3.   
  4. function GetInternetTime: string;  
  5. var  
  6.   XmlHttp: OleVariant;  
  7.   datetxt: string;  
  8.   DateLst: TStringList;  
  9.   mon: string;  
  10.   timeGMT, GetNetTime: TDateTime;  
  11.   s: string;  
  12. begin  
  13.   XmlHttp := CreateOleObject(‘Microsoft.XMLHTTP‘);  
  14.   XmlHttp.Open(‘GET‘, ‘http://open.baidu.com/special/time/‘, False);  
  15.   XmlHttp.Send;  
  16.   
  17.   datetxt := XmlHttp.GetResponseHeader(‘Date‘);   
  18.   datetxt := Copy(datetxt, Pos(‘,‘, datetxt) + 1, 100);  
  19.   datetxt := StringReplace(datetxt, ‘GMT‘, ‘‘, []);  
  20.   datetxt := Trim(datetxt);  
  21.   if datetxt = ‘‘ then Exit;  
  22.   DateLst := TStringList.Create;  
  23.   while Pos(‘ ‘, datetxt) > do  
  24.   begin  
  25.     DateLst.Add(Copy(datetxt, 1, Pos(‘ ‘, datetxt) - 1));  
  26.     datetxt := Copy(datetxt, Pos(‘ ‘, datetxt) + 1, 100);  
  27.   end;  
  28.   DateLst.Add(datetxt);  
  29.   if DateLst[1] = ‘Jan‘ then  
  30.     mon := ‘01‘  
  31.   else if DateLst[1] = ‘Feb‘ then  
  32.     mon := ‘02‘  
  33.   else if DateLst[1] = ‘Mar‘ then  
  34.     mon := ‘03‘  
  35.   else if DateLst[1] = ‘Apr‘ then  
  36.     mon := ‘04‘  
  37.   else if DateLst[1] = ‘Mar‘ then  
  38.     mon := ‘05‘  
  39.   else if DateLst[1] = ‘Jun‘ then  
  40.     mon := ‘06‘  
  41.   else if DateLst[1] = ‘Jul‘ then  
  42.     mon := ‘07‘  
  43.   else if DateLst[1] = ‘Aug‘ then  
  44.     mon := ‘08‘  
  45.   else if DateLst[1] = ‘Sep‘ then  
  46.     mon := ‘09‘  
  47.   else if DateLst[1] = ‘Oct‘ then  
  48.     mon := ‘10‘  
  49.   else if DateLst[1] = ‘Nov‘ then  
  50.     mon := ‘11‘  
  51.   else if DateLst[1] = ‘Dec‘ then  
  52.     mon := ‘12‘;  
  53.   s := DateLst[2] + ‘-‘ + mon + ‘-‘ + DateLst[0] + ‘ ‘ + DateLst[3];  
  54. //标准时间  
  55. //  ShowMessage(s);  
  56. // ‘/‘ or ‘-‘  
  57.   timeGMT := StrToDateTime(DateLst[2] + ‘-‘ + mon + ‘-‘ + DateLst[0] + ‘ ‘ + DateLst[3]);  
  58.   //转换时区  
  59.   GetNetTime := IncHour(TimeGMT, 8);  
  60. //  ShowMessage(FormatDateTime(‘yyyy年mm月dd日 HH:NN:SS‘, GetNetTime));  
  61.   FreeAndNil(DateLst);  
  62.   Result:= FormatDateTime(‘yyyy年mm月dd日 HH:NN:SS‘, GetNetTime);  
  63. end;  

 

 

方法二:

 

[delphi] view plaincopyprint?
 
  1. procedure TForm1.FormCreate(Sender: TObject);  
  2. begin  
  3.   WebBrowser.Navigate(‘http://www.timedate.cn/worldclock/ti.asp‘);  
  4.   tmr1.Enabled := True;  
  5. end;  
  6.   
  7. procedure TForm1.WebBrowserStatusTextChange(Sender: TObject;  
  8.   const Text: WideString);  
  9. var  
  10.   strText: string;  
  11. begin  
  12.   strText := Text;  
  13.   if strText = ‘完成‘ Then  
  14.   begin  
  15.     Caption := WebBrowser.OleObject.Document.Body.Innertext;  
  16.     tmr1.Enabled := True  
  17.   end;  
  18. end;  
  19.   
  20. procedure TForm1.tmr1Timer(Sender: TObject);  
  21. begin  
  22.   tmr1.Enabled := False;  
  23.   WebBrowser.Refresh  
  24. end;  

http://blog.csdn.net/yanjiaye520/article/details/7887463

Delphi 获取北京时间(通过百度和timedate网站)

标签:

原文地址:http://www.cnblogs.com/findumars/p/4999241.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!