Windows 日期表示

Windows 日期表示

我和一个朋友讨论过 unix 上的 2038 bug(32 位时间戳错误)。

我们实际上想知道 Windows 如何存储日期本身?我认为这是一个简单的 DateTime,但系统如何计算两个日期之间的差值?

那么,Windows 是否有可能将日期(内部)存储在时间戳中,然后将其转换为 DateTime ?

答案1

有 FILETIME,它是 64 位有符号整数,表示自 1601 年 1 月 1 日以来的 100 纳秒间隔。这会持续很长的时间,因为 64 位是一个巨大的数字。

而 CTIME(Unixtime)是一个有符号的 32 位整数,表示自 1970 年 1 月 1 日以来的秒数。

更好的问题是,Windows 在“哪里”使用每种格式?存储时间的每一个事物,都可能使用它们想要的任何时间表示形式。

AD 是否使用与系统、文件系统等相同的方式?对这个问题的答案很感兴趣!

相关内容