方法一:

  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(1)

    前言: 为什么要学php 呢?作为一个前端,一直有着了解后台的好奇心:作为一个计算机毕业的,一直有着实践更多设计模式和数据库相关的东西:而php 非常流行,拥有非常多的资源,入门应该容易: 为什么叫& ...

  2. Android的线程和线程池

    ---恢复内容开始--- 一.Android线程的形态 (一)AsyncTask解析 AysncTask简介:①.实现上封装了Thread和Handler   ②.不适合进行特别耗时的后台任务 Ays ...

  3. 解决ERROR C2011: 'FD_SET' : 'STRUCT' TYPE REDEFINITION问题

    在socket编程的过程中头文件中 #include <windows.h> #include "stdafx.h" #include "WinSock2.h ...

  4. placeholder在不同浏览器下的表现及兼容方法 placeholder兼容

    1.什么是placeholder?    placeholder是html5新增的一个属性,当input或者textarea设置了该属性后,该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点(或 ...

  5. 【ZOJ】3785 What day is that day? ——浅谈KMP在ACM竞赛中的暴力打表找规律中的应用

    转载请声明出处:http://www.cnblogs.com/kevince/p/3887827.html    ——By Kevince 首先声明一下,这里的规律指的是循环,即找到最小循环周期. 这 ...

  6. hdu 2157 How many ways_ 矩阵快速幂

    题意:略 直接矩阵乘法就行了 #include <iostream> #include<cstdio> #include<cstring> using namesp ...

  7. JSP指令 include 和forward

     包括指令:include     静态包括         <%@include file="要包括的文件路径" %>                 先将所包括 ...

  8. 操作hadoop的经验积累

    操作hadoop的经验积累 Hadoop namenode –format 在执行格式化-format命令时,要避免namenode的namdespaceid与datanode的namespaceid ...

  9. iOS 四种延时的方法

    - (void)initBlock{     //延时的方法     //1:GCD延时 此方式在能够在參数中选择运行的线程. 是一种非堵塞的运行方式,没有找到取消运行的方法.     double ...

  10. OC中NSString 的常用方法

    NSString *str1 = @"BeiJing"; NSString *str2 = @"beijing"; //全部转为大写 NSLog(@" ...