Windows 计算机如何知道当前的日期和时间?
请原谅我对这件事的无知。我可能在很久以前,很多年前在Charles Petzold的编程窗口第四版的书中读到了这一点,我一定把它全忘了。我记得第一章有一些关于计时器分辨率和CPU时钟速度的内容,但我忘记了细节。我认为他回答了这个问题。但我可以想象一些事情。好久不见了 虽然有一个答案,但我并不满意,因为它没有回答我感兴趣的更细微的差别,这将在下面提到 如果有人能系统地回答这个问题,那就太好了Windows 计算机如何知道当前的日期和时间?,windows,datetime,winapi,operating-system,posix,Windows,Datetime,Winapi,Operating System,Posix,请原谅我对这件事的无知。我可能在很久以前,很多年前在Charles Petzold的编程窗口第四版的书中读到了这一点,我一定把它全忘了。我记得第一章有一些关于计时器分辨率和CPU时钟速度的内容,但我忘记了细节。我认为他回答了这个问题。但我可以想象一些事情。好久不见了 虽然有一个答案,但我并不满意,因为它没有回答我感兴趣的更细微的差别,这将在下面提到 如果有人能系统地回答这个问题,那就太好了 硬件中是否内置了某种时钟,告诉它世界时?然后,它通过添加时区偏移量来计算用户选择的区域设置中的本地时间 这
结构的指针。该函数如何知道UTC时间是多少
就这一点而言,任何操作系统如何知道
当然,对(1)的回答也将对(2)进行回答。以下MSDN文档中介绍了这一点: 系统时间是一天中的当前日期和时间。系统保持时间,以便应用程序随时可以访问准确的时间。系统将系统时间基于协调世界时(UTC)。UTC时间是指英格兰格林威治的当前日期和时间 当系统首次启动时,它会将系统时间设置为基于计算机实时时钟的值,然后定期更新时间。要检索系统时间,请使用函数。GetSystemTime将时间复制到包含月、日、年、工作日、小时、分钟、秒和毫秒的单个成员的结构中。向用户显示此格式很容易 您还可以使用函数以文件时间格式获取系统时间。GetSystemTimeAsFileTime将时间复制到结构中 要设置系统时间,请使用功能。SetSystemTime假定您已指定基于UTC的时间 和功能使用在每个时钟中断时应用的周期性时间调整,将一天中的时间时钟与另一个时间源同步 请注意,系统可以通过与时间源同步来定期刷新时间。因为系统时间可以向前或向后调整,所以不要通过比较系统时间读数来确定经过的时间。相反,请使用中描述的方法之一