实时时钟的起始日期是什么?

DrS*_*ove 5 windows date-time

Windows使用1601 年 1 月 1 日作为开始日期。

实时时钟有什么用?

如果它使用不同的开始日期,Windows 是否将它的时间戳(因为它使用它的日期和时间)转换成它自己的时间戳?如何?

hai*_*img 6

RTC 时钟在电池供电的 CMOS 内存中节省了时间(现在它只是一个模拟旧设计的集成度更高的芯片)。CMOS 内存映射是 PC 兼容计算机上的标准配置。根据这些CMOS 内存映射文档

 00h 秒 (BCD 00-59, Hex 00-3B) 注意:位 7 是只读的
 01h 第二次警报(BCD 00-59,十六进制 00-3B;如果 C0-FF,则“不关心”)
 02h 分钟 (BCD 00-59, Hex 00-3B)
 03h 分钟警报(BCD 00-59,十六进制 00-3B;如果 C0-FF,则“不关心”))
 04h 小时(BCD 00-23,十六进制 00-17 如果 24 小时模式)
                         (BCD 01-12, Hex 01-0C if 12 hr am)
                         (BCD 81-92。十六进制 81-8C 如果 12 小时 pm)
 05h 小时警报(与小时相同;如果 C0-FF 则“不关心”))
 06h 星期几(01-07 星期日=1)
 07h 月份日期(BCD 01-31,十六进制 01-1F)
 08h 月 (BCD 01-12, Hex 01-0C)
 09h 年(BCD 00-99,十六进制 00-63)

因此,将这些字段转换为您喜欢的任何格式是一种直接的日历数学:Unix 时间戳、DOS 类型的日期/时间格式或其他格式。

请注意,上图中缺少的一个字段是时区和 DST 设置。所以,如果你双启动到 Windows 和 Linux,你可能会遇到问题。Windows 默认为您的本地时区,而 Linux 通常假设 RTC 日期/时间是 UTC(我认为这更合理)。