方法一:

  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. PHP获取生成一个页面的数据库查询次数(转)

    很多博客软件都有这么一个功能,比如“生成本次页面一共花费了xx毫秒,进行了xx次数据库查询”等等.那么这个功能是如何实现的呢,下面我大概说下思路. 1. 在类的构造函数中声明全局变量 定义一个全局变量 ...

  2. 运算符 - PHP手册笔记

    运算符优先级 每种编程语言都有运算符,运算符要学会灵活使用. 运算符拥有不同的优先级和结合方向. <?php var_dump(1 <= 1 == 1); // true var_dump ...

  3. BootStrap 模态框禁用空白处点击关闭,手动显示隐藏,垂直居中

    $('#ajax_wait').modal({ backdrop: 'static', keyboard: false }); backdrop:static ,空白处不关闭. keyboard:fa ...

  4. Python中yield深入理解

    众所周知,python中的yield有这样的用法: def test(alist): for i in alist: yield i 这样,这个test函数就变成了一个生成器,当每次调用的时候,就会自 ...

  5. android关于window

    http://mobile.51cto.com/android-259922_all.htm http://mobile.51cto.com/android-259922.htm http://mob ...

  6. Check .NET Version with Inno Setup

    原文 http://www.kynosarges.org/DotNetVersion.html Inno Setup by Jordan Russell is a great installation ...

  7. haproxy path_end不能忽略

    C:\>ping www.zjtest7.com 正在 Ping www.zjtest7.com [192.168.32.82] 具有 32 字节的数据: 来自 192.168.32.82 的回 ...

  8. iOS断言

    来自:http://my.oschina.net/panyong/blog/205573 在看到xmpp项目中的一些代码时,看到如下,不懂该代码是啥意思, 如下: NSAssert(_xmppStre ...

  9. tsm ANS0326E问题处理

    备份tsm备份oracle 报错 ANS0326E This node has exceeded its maximum number of mount points. 查看所有节点详细信息 q no ...

  10. C++匈牙利命名法

    匈牙利命名法 匈牙利命名法是一种编程时的命名规范.基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分.命名要基于容易记忆容易理解的原则.保证 ...