系统时间的获取

来源:互联网 发布:sql中declare的用法 编辑:程序博客网 时间:2024/05/16 17:28

程序中,我们会遇到要获取当前系统时间的情况。当然windows提供了相应的api函数。GetSystemTime和GetLocalTime

GetSystemTime获得当前系统的日期和时间,能够精确到毫秒,取得的数据存放在一个SYSTEMTIME结构中,不过要注意的是,这个函数获得的时间是按照UTC(Coordinated Universal Time)进行组织的

GetLocalTime获得的是current local date and time.

下面关于UTC时间是从网上搜索得到的,大致意思是:

整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich MeanTime)一样,都与英国伦敦的本地时相同。例如: 北京时区是东八区,领先UTC八个小时。本地时间和UTC时间之间可以按照下面的公式计算:

UTC  = 本地时间 +bias

这个时间差也可以通过一个api函数获得,GetTimeZoneInformation获得当前时区的参数,返回植保存在一个TIME_ZONE_INFORMATION结构中,这个结构的第一个参数就是bias,但是是以分钟为单位的,计算的时候,转换为小时进行计算。

原创粉丝点击