程序中,我们会遇到要获取当前系统时间的情况。当然windows提供了相应的api函数。GetSystemTime和GetLocalTime
GetSystemTime获得当前系统的日期和时间,能够精确到毫秒,取得的数据存放在一个SYSTEMTIME结构中,不过要注意的是,这个函数获得的时间是按照UTC(Coordinated Universal Time)进行组织的
GetLocalTime获得的是current local date and time.
下面关于UTC时间是从网上搜索得到的,大致意思是:
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。例如: 北京时区是东八区,领先UTC八个小时。本地时间和UTC时间之间可以按照下面的公式计算:
UTC = 本地时间 +bias
这个时间差也可以通过一个api函数获得,GetTimeZoneInformation获得当前时区的参数,返回植保存在一个TIME_ZONE_INFORMATION结构中,这个结构的第一个参数就是bias,但是是以分钟为单位的,计算的时候,转换为小时进行计算。