从Internet时间服务器获取标准格林尼治时间<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
由于本机系统时间不准确,所以决定从Internet 时间服务器获取标准时间来校正 系统时间,说干就干。
程序设计步骤如下:
1、 新建一个工程;
2、 在窗体上放一个TEdit控件和一个TClientSocket(在Internet页下)控件。TEdit用来显示取得的格林尼治时间转化成北京时间后的时间,TClientSocket用来从Internet 时间服务器获取标准的格林尼治时间;
3、 程序代码如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket1.Host :='tick.usno.navy.mil'; // 美国海军天文台;
ClientSocket1.Port :=13;
ClientSocket1.Open;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
TempTime: TDateTime;
hh,mm,ss,ms: word;
sTime : string;
begin
sTime := Socket.ReceiveText; // 取得格林尼治时间;
sTime:=Copy(sTime,12,8); // 取得时间部分;
DecodeTime(StrToTime(sTime),hh,mm,ss,ms);
hh:=(hh+8) mod 24; // 转化成北京时间;
TempTime:=EncodeTime(hh,mm,ss,ms);
Edit1.Text :=TimeToStr(TempTime);
end;
4、 编译运行,稍微等几秒钟(和你的网络速度有关,笔者等了大概一秒钟),TEdit控件就显示出了由格林尼治时间转化得到的北京时间。
怎么样?很简单吧。赶快试一下吧!需要说明一点:由于网络延时的缘故,这
个程序得到的时间会和标准时间有几秒的误差,但除非你用来控制火箭的发射,否
则,这无妨大碍。
笔者是从美国海军天文台得到标准时间,你还可以从别的时间服务器上获间,但由于每个时间服务器的时间格式不同,所以在编写程序时要注意作相应的处理。
域名 组织
Clock.sgi.com SGI
Tick.mit.edu 麻省理工学院
Time.nist.gov NIST
分享到:
相关推荐
java 获取标准格林尼治时 标准格林尼治时间 标准时间
在天文学计算时,常常用来求解格林尼治真恒星时角。我在查找资料的时候发现各种计算的方法。但其精度不是很高。后来查资料后,利用IAU2000B简化模型,对赤经章动进行较为精确的计算(达到0.001 角秒)。下面给出详细...
Rolex劳力士格林尼治型II产品说明书.pdf
通过代码实现获取网络时间,格林尼治时间与北美标准时间。与大家分享。
从Internet时间服务器获取标准格林尼治时间的一般方法和过程介绍
Iperf 是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。...可输出毫秒级时间和格林尼治时间
labview时间格式与格林尼时间转换
高中历史之历史百科格林尼治的中国留学生素材
Rolex劳力士格林尼治型II gmt-master-ii 用户手册.pdf
自己编写的将世界时间转换为格林威治恒星时的matlab程序,验证有效
为了理解这些函数的工作方式,必须熟悉时区和格林尼治标准时间 (GMT),GMT 现在是世界时间坐标 (UTC Coordinated Universal Time) 的参考。 一天中的小时是以地球的自转为标准的,一天中的任何特定时刻依赖你所在的...
最近有遇到java的时间不对的事件,现象:通过java语句获得系统时间,取得的时间总是比系统时间少8个小时,获得的总是格林尼治时间(0时区的时间),检查系统时间确实是正确的,时区为GMT 8:00北京……等;...
格林威治时间转化北京时间以及时间转换格式代码大全
为了理解这些函数的工作方式,必须熟悉时区和格林尼治标准时间 (GMT),GMT 现在是世界时间坐标 (UTC Coordinated Universal Time) 的参考。 一天中的小时是以地球的自转为标准的,一天中的任何特定时刻依赖你所在的...
select to_char(sysdate,'yyyy-mm-dd') from dual; select convert(varchar(12),getdate(),102) from comment DECLARE @Date VARCHAR(20) SET @Date='' SELECT @Date=CONVERT(VARCHAR(4),DATEPART( YEAR,GETDATE...
2010年7月27日,星期二,格林尼治标准时间 0004 2010年7月27日,星期二,格林尼治标准时间 0005 2010年7月27日,星期二,格林尼治标准时间 0006 2010年7月27日,星期二,格林尼治标准时间 0007 2010年7月27日,星期...
格林尼治标准时间(Greenwich Mean Time,GMT)是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。 理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时的...
包含源码和exe文件 功能: 在本地时间、格林尼治时间(世界时)和UTC时间(协调世界时间)之间进行互换,年份支持1970-2038 (免分资源,仅供学习)
理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间。由于地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能和实际的太阳时相差16分钟
01 00:00:00 UTC)起经过的时间秒数,UTC时间也即是格林尼治标准时间 GMT(世界协调时间)。 如果参数timer是⼀个空指针,函数会返回⼀个time_t的⻓整形。如果不是空指 针,函数将结果存放到timer指针指向的内存单元中...