25569 是「Excel 日期体系」与「Unix 时间戳」之间的桥梁常量。
Excel 的日期起点(1900 体系)
Excel 默认使用 1900 日期系统(Windows):
| Excel 数值 | 实际日期 |
|---|---|
| 1 | 1900-01-01 |
| 25569 | 1970-01-01 |
| 45000 | 2023-03-15 |
⚠️ 注意:
Excel 错误地把 1900 当作闰年,但这个错误已经“固化”,所以大家都按它的规则算。
Unix 时间戳起点
Unix 时间戳定义为:
1970-01-01 00:00:00 UTC = timestamp 0
25569 是怎么算出来的?
从:
1900-01-01
到
1970-01-01
之间的天数:
70 年 × 365 天
+ 闰年天数
+ Excel 的 1900 闰年 bug
= 25569 天
👉 所以:
ExcelDate – 25569 = UnixDate(天)
完整换算公式拆解
Excel → Unix timestamp:
$timestamp = ($excelValue – 25569) * 86400;
25569 = Excel 的“1970-01-01”