方法一:

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

方法二:

  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. procedure TForm1.WebBrowserStatusTextChange(Sender: TObject;
  7. const Text: WideString);
  8. var
  9. strText: string;
  10. begin
  11. strText := Text;
  12. if strText = '完成' Then
  13. begin
  14. Caption := WebBrowser.OleObject.Document.Body.Innertext;
  15. tmr1.Enabled := True
  16. end;
  17. end;
  18. procedure TForm1.tmr1Timer(Sender: TObject);
  19. begin
  20. tmr1.Enabled := False;
  21. WebBrowser.Refresh
  22. end;

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

Delphi 获取北京时间(通过百度和timedate网站)的更多相关文章

  1. delphi 获取北京时间(使用XMLHTTP获取百度的时间,WebBrowser获取www.timedate.cn的时间)

    方法一: uses ComObj, DateUtils; function GetInternetTime: string; var XmlHttp: OleVariant; datetxt: str ...

  2. C#获取北京时间与设置系统时间

    获取北京时间 public static DateTime GetBeijingTime() { DateTime dt; // 返回国际标准时间 // 只使用 timeServers 的 IP 地址 ...

  3. atitit.获取北京时间CST 功能api总结 O7

    atitit.获取北京时间CST 功能api总结 O7 1. 获取cst时间(北京时间)两布:1.抓取url timtstamp >>format 到cst 1 2. 设置本机时间  se ...

  4. C#获取获取北京时间多种方法

    #region 获取网络时间 ///<summary> /// 获取中国国家授时中心网络服务器时间发布的当前时间 ///</summary> ///<returns> ...

  5. Delphi 获取系统时间后格式化输出

    问题:客户现场程序运行提示时间格式不对导致的错误,原因是与开发环境及公司内部测试环境的日期格式不一致: 解决:统一强制转换: //引用单元:SysUtils //目的:实现跨环境兼容不同日期格式,如果 ...

  6. C# 获取北京时间 (根据纪元时间(1970/1/1)转换为DateTime)

    根据纪元时间(1970/1/1)转换为DateTime WebClient wc = new WebClient(); s= wc.DownloadString("http://api.ti ...

  7. c# 获取北京时间更新本地计算机

    class UpdateDateTime { [DllImport("Kernel32.dll")] private static extern void SetLocalTime ...

  8. js 获取北京时间

    <SCRIPT LANGUAGE = "JavaScript"> var xmlhttp = new ActiveXObject("MSXML2.XMLHTT ...

  9. python获取网络时间和本地时间

    今天我们来看一下如何用python获取网络时间和本地时间,直接上代码吧,代码中都有注释. python获取网络时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

随机推荐

  1. css 兼容小三角

    <!DOCTYPE><html ><head><meta http-equiv="Content-Type" content=" ...

  2. HTML中发送方式(method)中get和post的比较

    get的方式是将表单控件的控件名name和取值value信息经过编码后,通过URL发送(可以在地址栏里看到).而post则将表单的内容通过http发送.一个 get通过URL传送变量,能传送的数据总量 ...

  3. Oracle EBS-SQL (PO-13):检查采购物料无一揽子协议价格.sql

    Select        msi.segment1                               物料编码,       msi.DESCRIPTION                 ...

  4. Android下EditText中的字体不统一问题

    Android下EditText中的字体不统一问题 好久没写,今天心情好略记下解决的某bug 在一个登录界面有帐号和密码两个EditText,但是却发现两个EditText的hint的英文字体不同,看 ...

  5. Starling开发微信打灰机(二)

    上一篇中,已经把starling开发环境搭建好,那么现在开始写代码. 这一篇来完成打灰机的欢迎界面. 游戏素材下载 首先创建Asset.as来加载图片,声音和字体等资源,其中只有两张背景图是单独的图片 ...

  6. C# 导出CSV功能记录下

    异常问题1: 如 机构编号 导出城CSV后,前面的四个0000不显示了, 解决办法 输出格式变为 =" 异常问题2: PPMABAT01:/MABATAPS/usr/ma_batas > ...

  7. SignalR with ASP.NET MVC5 可用于倒计时同步

    原文地址:http://www.codeproject.com/Articles/806919/SignalR-with-ASP-NET-MVC

  8. OpenStack ceilometer部署安装监控,计费数据抓取测试Ok

  9. 北京西服定做_衬衫定制_关于我们_Dimoon TLR.

    北京西服定做_衬衫定制_关于我们_Dimoon TLR.

  10. 使用Mysql.data.dll文件在服务器上运行访问Mysql

    我使用的这个Mysql.data.dll文件 web.config上面主要需要声明以下代码 <system.data> <DbProviderFactories> <ad ...