方法一:

  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. MySQL计数器表的设计

    如果应用在表中保存计数器,则在更新计数器时可能碰到并发问题.计数器表在web应用中非常常见.可以用这个表缓存一个用户的朋友书.文件下载次数等.创建一张独立的表存储计数器是一种非常好的做法,这样可以使计 ...

  2. C语言--基本运算符

    一.算术运算符 1. 加法运算符 + * 除了可以进行加法运算外,还可以表示正号:+521 2.减法运算符 — * 除了可以进行减法运算外,还可以表示负号:—741 3.乘法运算法符 * * 请注意符 ...

  3. 由EmbeddedFileProvider构建的内嵌(资源)文件系统

    由EmbeddedFileProvider构建的内嵌(资源)文件系统 一个物理文件可以直接作为资源内嵌到编译生成的程序集中.借助于EmbeddedFileProvider,我们可以统一的编程方式来读取 ...

  4. bash 变量使用技巧

  5. NFC协议学习分享

    很多同学在学习NFC协议的时候,觉得NFC的规范从底层到上层的应有尽有,有点无处下手的感觉.这里就和大家分享下我曾经学习NFC规范的经验.如果有不对的地方,也请各位同学批评指正.NFC Forum中有 ...

  6. Arduino红外遥控系列教程2013——发射与接收

    教程一:红外接收教程本教程共四步操作,将教大家如何收集电视红外遥控器的编码 视频链接:http://v.youku.com/v_show/id_XNTE2NjQ5NTcy.html 第一步:电路连接, ...

  7. Windows Components Reference(Windows组件参考)

    原文 http://www.msfn.org/board/topic/127287-windows-components-reference/ green means the component na ...

  8. C语言的本质(23)——C标准库之输入与输出(上)

    1..文件的基本概念 所谓"文件"是指一组相关数据的有序集合.这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库 ...

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

  10. Centos下需安装Pytnon,Pytharm

    1.在www.python.org/PIPY/下载python3.4.2.tar.gz 2.在安装之前最好先安装相关的开发工具 # yum groupinstall develtools # yum ...