You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何FILETIME转Unix时间用常量11644473600而非11644732800?

关于FILETIME与Unix时间转换常量的疑问

我一直在研究不同操作系统的时间表示方式及转换方法,阅读了多篇介绍FILETIME与Unix时间转换的文章,其中提到转换的核心逻辑:从1601年1月1日到1970年1月1日的时间间隔为11644473600秒。

我产生了一个疑问:为何使用常量11644473600而非11644732800?

将11644473600秒换算为天数是134774天,对应约368.99年,包含92个闰年。但我自行计算369年(含92个闰年)时,得到的是11644732800秒(134777天)。我不确定是自己计算有误,还是对转换逻辑存在认知盲区。

编辑补充:经Vladimir Posvistelik指出,我之前的闰年计算错误——1700年、1800年和1900年并非闰年,这解释了数值相差3天的原因。

内容的提问来源于stack exchange,提问作者Azrael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 16:42:05